tar圧縮ディレクトリから特定のファイルを抽出しますか?

tar圧縮ディレクトリから特定のファイルを抽出しますか?

圧縮ディレクトリから単一のファイルを抽出する場合tartar.gzから特定のファイルを抽出する方法)ファイルのコピーは圧縮されたままになりますか、それともディレクトリから完全に削除されましたか?

たとえば、

$ tar -zxvf mydir.tar.gz file1.txt

file1.txt予約はに保存されますかmydir.tar.gz

答え1

もちろん、圧縮されているかどうかにかかわらず、tarファイルは変更されません。

「tarディレクトリ」はありません。ゼロ個以上のディレクトリ内容を含む圧縮tarファイルが存在する可能性があります。

答え2

簡単なテストの結果、ファイルからコピーが抽出されても、ファイルがアーカイブに残っていることがわかりました。

圧縮パッケージの内容物
$ tar ztvf somedir.tar.gz
drwxrwxr-x vagrant/vagrant   0 2018-08-08 00:33 somedir/
-rw-rw-r-- vagrant/vagrant   6 2018-08-08 00:33 somedir/file2.txt
-rw-rw-r-- vagrant/vagrant   6 2018-08-08 00:33 somedir/file1.txt
ファイルサイズ、181バイト
$ ll
total 4
-rw-rw-r-- 1 vagrant vagrant 181 Aug  8 00:33 somedir.tar.gz
タルボールからファイルを抽出する
$ tar zxvf somedir.tar.gz somedir/file1.txt
somedir/file1.txt
ファイルを解凍した後
$ ll
total 8
drwxrwxr-x 2 vagrant vagrant 4096 Aug  8 00:35 somedir
-rw-rw-r-- 1 vagrant vagrant  181 Aug  8 00:33 somedir.tar.gz

tarballのサイズは常に181バイトに保たれます。

関連情報