tarのデフォルト動作を設定するには?

tarのデフォルト動作を設定するには?

-cvzpfを除いて、tarで他のオプションを使用する必要はありませんでした。これをデフォルトの動作に設定する方法はありますか?

しばしば話すことができないことを知っていますが、なぜ誰かがプログラムを別の方法ではなく1つの方法で書いていますが、tarが他のほとんどのコマンドラインユーティリティと同じ操作を実行しない理由を理解できませんでした。つまり:

command -options /source/path /target/path

代わりになぜ:

command -options /target/path /source/path

ベストアンサー1

-cvzpf は、少なくとも次の理由でデフォルトの動作ではありません。

  1. -c は、ユーザーが少なくとも同じようにアーカイブの内容を抽出または表示したいアーカイブの生成を指定します。
  2. -vは詳細なタスクを指定しますが、一部の人はすべてを見たくありません。
  3. -p これは何の関係もありません作るファイル。
  4. -fユーザーが出力をファイル(または既存のUnicesのデフォルトのテープ装置)の代わりに別の装置/プログラムにパイプしたい場合。

あなたが提案したものではないのは、テープドライブの使用とオリジナルの作成者のエンコーディングに関して処理する必要がある歴史的な理由です。

デフォルトの動作に設定するとエイリアスを作成できますが、ファイルを抽出するには別のエイリアスが必要です。

GNU実装のデフォルトオプションを変更するもう1つの方法は、環境変数をtar設定することです。TAR_OPTIONS-fをオプションの1つとして指定しようとすると気にしません。

export TAR_OPTIONS=-tvzp

オプションを設定できますが、競合するオプションをtarに渡すとエラーが発生します。たとえば、TAR_OPTIONSを上記のように設定してアーカイブを抽出しようとすると、次のエラーが発生します。

tar: You may not specify more than one `-Acdtrux' or `--test-label' option
Try `tar --help' or `tar --usage' for more information.

おすすめ記事