1.メタキャラクタとは
bash等のシェルで使用すると単なる文字としてではなく、特別な意味で解釈される記号のこと。正規表現とともに覚えることで入力効率等が向上するが、正しく使わないと思わぬ挙動やエラーの原因にもなるため、正確に使うことが重要となる。
2.メタキャラクタ一覧
(1)ファイルパス系
| 記号 | 意味 |
| . | カレントディレクトリ |
| .. | 親ディレクトリ |
| ~ | ホームディレクトリ |
(2)リダイレクト系
| 記号 | 意味 |
| > | 出力(新規作成or上書き保存) |
| >> | 出力(新規作成or追記保存) |
| < | 入力 |
| << | ヒアドキュメント |
| 2> | エラー出力(新規作成or上書き保存) |
| 2>> | エラー出力(新規作成or追記保存) |
| &> | 出力とエラー出力 |
(3)引用符系
| 記号 | 意味 |
| ” | 特殊文字や変数展開を防ぐ |
| “” | 空白を含む文字列の扱い |
| “ | コマンドの実行結果を取得 |
(4)コマンド実行系
| 記号 | 意味 |
| | | 前のコマンドの結果を次のコマンドへ送って実行 |
; | 順にすべて実行(成功・失敗に関係なく) |
&& | 前のコマンドが成功したら次を実行 |
| || | 前のコマンドが失敗したら次を実行 |
| & | コマンドをバックグラウンドで実行 |
(5)ワイルドカード・正規表現
| 記号・正規表現 | 意味 |
* | 0文字以上の任意の文字列に一致 |
? | 任意の1文字に一致 |
[abc] | a または b または c に一致 |
[a-z] | 範囲指定:a から z のいずれかに一致 |
[^abc] | a, b, c 以外の1文字に一致(否定) |
{a,b,c} | a, b, c のどれかに一致(ブレース展開) |
(6)その他
| 記号 | 意味 |
| $ | $に続く文字列を変数にする |
| ! | コマンド履歴の操作・再実行 |
| \(バックスラッシュ) | エスケープシーケンス |
