オプションフラグをtarに渡すために追加のダッシュ(-)を使用するのはなぜですか?

オプションフラグをtarに渡すために追加のダッシュ(-)を使用するのはなぜですか?

ディレクトリ用のtarファイルを作成するには、オプションと一緒にコマンドを入力できますtarcompressverbosefile

$ tar -cvf my.tar my_directory/

ただし、次のこともできます。

 $ tar cvf my.tar my_directory/

つまり、オプションの前にダッシュ(-)はありません。オプションリストにダッシュ(-)を渡すのはなぜですか?

ベストアンサー1

UNIXアプリケーションは、歴史的にいくつかの異なるオプションモードを使用してきました。次のような古いものアスファルト、位置スキームの使用:

コマンドオプションパラメータ

たとえば、tar

タール*もの*f「作業ファイル」*「作業するファイルパス」*

混乱を避けるために、まずアスファルトそして、古いフラグ引数スタイルを使用する他のいくつかのプログラムでは、フラグをダッシュ​​で区切ることができますが、ほとんどの高齢者はそれを無視します。

他のコマンドには、次のようなより複雑なコマンドライン構文があります。仕事(1)梨のフラグ、等号、パス名、パラメータ、子鳥を使用しますが、すべて奇妙です。

BSD 以降の Unix では、「-」で示される単一文字フラグに収束しますが、これによりいくつかの問題が発生し始めます。

  • これらの兆候は覚えにくいかもしれません。
  • 時々「-」を含む名前を使用したい場合があります。
  • 特に、GNUツールを使用すると、可能なフラグの数が制限され始めます。したがって、GNUツールには--output

その後、Sunは追加の「-」が重複していると判断し、単一の「-」を持つ長いスタイルフラグを使用し始めました。

だからこそめちゃくちゃになりました。

おすすめ記事