ディレクトリのtarファイルを作成するには、tar
compress
を使用したコマンド 、verbose
およびfile
オプションは次のように入力できます:
$ tar -cvf my.tar my_directory/
ただし、この方法でも機能します:
$ tar cvf my.tar my_directory/
つまり、オプションの前にダッシュ(-)がありません。オプションリストにダッシュ(-)を渡すのはなぜですか?
承認された回答:
UNIXアプリケーションで歴史的に使用されてきたオプションにはいくつかの異なるパターンがあります。 tarのようないくつかの古いもの 、位置スキームを使用します:
コマンドオプション引数
たとえば、tarは使用します
tar * something *f「ファイル操作」 *「操作するファイルのパス」*
混乱を避けるための最初の試みとして、 tar そして、古いフラグ引数スタイルを持つ他のいくつかのプログラムでは、フラグをダッシュで区切ることができましたが、私たちのほとんどの老人は単にそれを無視していました。
他の一部のコマンドには、 dd(1)など、より複雑なコマンドライン構文があります。 フラグ、等号、パス名、引数、ナシの木のヤマウズラを使用しますが、すべて野生で放棄されています。
BSD以降のバージョンのunixでは、これは「-」でマークされた1文字のフラグに多かれ少なかれ収束していましたが、これによりいくつかの問題が発生し始めました。
- フラグを覚えるのは難しいかもしれません
- 実際に「-」を含む名前を使用したい場合があります
- 特にGNUツールでは、可能なフラグの数によって制限が課せられるようになりました。そのため、GNUツールは
--output
のようなGNUの長いオプションを追加しました 。
次に、Sunは、余分な「-」が冗長であると判断し、単一の「-」で長いスタイルのフラグを使用し始めました。
そして、それが今の混乱になっている理由です。