it-swarm-ja.com

tar -xvfは既存のファイルをディレクトリから削除しますか?

Tarアーカイブがあり、tar -xvfを使用したいと思います。
このtarアーカイブには、いくつかのファイルを含むディレクトリツリーがあります。私のsolaris10システムでは、このディレクトリツリーはすでに存在し、いくつかのファイルが含まれています。
アーカイブを解凍すると、ディレクトリツリー全体が上書きされますか、それともアーカイブに含まれるファイルのみが上書きされますか?
アーカイブに特派員がいないファイルは削除されますか?

10
Felicia

すでに存在する重複ファイルは、システムに応じて解凍および上書きされる場合とされない場合があります。ただし、通常はデフォルトで実行されます。アーカイブにはあるがシステムにはないファイルは、システムの新しいディレクトリまたは既存のディレクトリに追加されるだけです。

Dir /test

/1/a
c

アーカイブ test.tar

/1/b
d

おそらく次のようにマージされます:

/1/a
/1/b
c
d

-kフラグをtarコマンドに指定すると、ターゲットディレクトリのファイルが上書きされなくなります。

tar -xvkf test.tar
6
BloodPhilia

最も簡単な方法は、新しい空のディレクトリを作成し、そこにcdして、そこにファイルを抽出することです。抽出されたファイルは相対的(./で始まる)であり、絶対的(/で始まる)ではないことに注意する必要があります。わからない場合は、目次をlessにパイプして、どちらが当てはまるかを確認します(tar -tvf tar_filename | less)

Manページを見ると、tarバージョンがデフォルトで上書きされるかどうかを確認できます。 tarは抽出中にファイルを削除しません。これは、通常、抽出を行う前に、新しい空のディレクトリから開始するもう1つの理由です。

0
hotei