裸の - を意味する場合 tar の終わりに これは、ファイルを使用したい多くのコマンドで一般的です。
実際のではなく、標準の入力または出力を指定できます。 ファイル名.
これは、最初と 3 番目の例の場合です。たとえば、cdrecord コマンドは標準入力 (mkisofs によって生成された ISO イメージ ストリーム) を取ります )、それを直接 /dev/dvdrw に書き込みます .
cd で コマンドを実行すると、ディレクトリを変更するたびに、元のディレクトリが保存されます。 cd を実行する場合 特別な - で 「ディレクトリ名」、実際のディレクトリの代わりに記憶されたディレクトリを使用します。これを使用すると、2 つのディレクトリをすばやく簡単に切り替えることができます。
他のコマンドは - を扱うかもしれません 異なるとして 特別な価値。
それは魔法ではありません。一部のコマンドは - を解釈します stdin からの読み取りまたは stdout への書き込みを希望するユーザーとして。シェルにとって特別なことは何もありません。
- 各コマンドが意味したいことを正確に意味します。いくつかの一般的な規則があり、他の回答でそれらのほとんどの例を見てきましたが、100% 普遍的なものはありません.
- に魔法はありません シェルに関する限り、文字 (シェル自体、および cd のような組み込みコマンドの一部を除く) と echo 、従来の方法で使用します)。 \ などの一部の文字 、 ' 、および " 、は どこにでも特別な意味を持つ「魔法の」。これらは「シェルのメタ文字」です。 -
特定のコマンドが - をどのように使用するかを確認するには 、そのコマンドのドキュメントを読む .