当您从压缩目录中提取单个文件时tar
(如何从 tar.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
从 tarball 中提取文件
$ 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 字节。