-cvzpfを除いて、tarで他のオプションを使用する必要はありませんでした。これをデフォルトの動作に設定する方法はありますか?
しばしば話すことができないことを知っていますが、なぜ誰かがプログラムを別の方法ではなく1つの方法で書いていますが、tarが他のほとんどのコマンドラインユーティリティと同じ操作を実行しない理由を理解できませんでした。つまり:
command -options /source/path /target/path
代わりになぜ:
command -options /target/path /source/path
ベストアンサー1
-cvzpf は、少なくとも次の理由でデフォルトの動作ではありません。
- -c は、ユーザーが少なくとも同じようにアーカイブの内容を抽出または表示したいアーカイブの生成を指定します。
- -vは詳細なタスクを指定しますが、一部の人はすべてを見たくありません。
- -p これは何の関係もありません作るファイル。
- -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.