古いバージョンを含むtar
ファイルを抽出したため、作成したVimプラグインを数百行失い、頻繁にバックアップを続けました。プラグインを作成したときは、定期的にしか更新しないため、ソース管理を使用しないことにしました。
デフォルトで既存のファイルを上書きする前にtar
が尋ねないのはなぜですか?通常、速度と利便性よりも安全性が必要なため、デフォルトの動作でファイルをサイレントに上書きする理由には、いくつかの理由があると思います。たとえば、通常は#ifdef NDEBUG
ではなく#ifdef DEBUG
を使用します。同様に、tar
はファイルを上書きする前に私に尋ね、私に尋ねることなくファイルを上書きするように指示するために使用できるフラグを持っていることを期待します。また、フラグを指定しなくても、デフォルトでtar
が要求するようにするにはどうすればよいですか?このより安全なデフォルトの動作をサポートしている場合は、tar
以外のツールを使用しても問題ありません。
お時間をいただきありがとうございます!
rm
、cp
、および他の多くのユーティリティがそうではないのと同じ理由-早い段階から、POSIXの設計コンセプトは、コンソールの人が彼らが何を知っているかを常に想定することでした実際に問題がない限り、説明を求めないでください。
tar
の場合、マニュアルページを見ると、TAR_OPTIONS
環境変数を設定して--confirmation
フラグを含めることができることがわかります。
tar -k
オプションは、ファイルがすでに存在するかどうかの確認を求めます。デフォルトでは、TAR_OPTIONS
変数(TAR_OPTIONS="$TAR_OPTIONS -k"
)に追加するか、エイリアス(alias tar="tar -k"
)を作成することで設定できます。