tar
「my_directory」という名前のディレクトリにあるファイルのコレクションを作成し、次のコマンドを使用して元のファイルを削除しようとしています。
tar -cvf files.tar my_directory --remove-files
ただし、ディレクトリ自体ではなく、ディレクトリ内の個々のファイルのみを削除します(コマンドで指定したものです)。ここで何が欠けていますか?
編集:
はい、「remove-files」オプションはかなり文字通りだと思います。私もその点でマニュアルページが不明瞭だと思ったが。(Linuxでは、ディレクトリとファイルをあまり区別しない傾向があり、同じものではないことを時々忘れます)。コンセンサスは、ディレクトリを削除しないということです。
ただし、この質問をするための私の主要なプロンプトポイントは、tarの絶対パスの処理に由来します。圧縮するファイルへの相対パスを指定する必要があるため、適切にtarするために親ディレクトリに変更する必要があります。私が見るように、あらゆる種類の後続の「rm」コマンドを使用すると、そのような状況では潜在的に危険です。したがって、tar自体に削除を行わせることで物事を単純化したいと考えていました。
たとえば、バックアップするディレクトリ(つまり、tar)がシェル変数として含まれているバックアップスクリプトを想像してください。そのシェル変数値が誤って入力された場合、最後にあったディレクトリからファイルが削除される可能性があります。