从 tar 和 tar.gz 中附加或删除文件

从 tar 和 tar.gz 中附加或删除文件

我想将文件附加到foo.tar

tar -rvf foo.tar IMG_1807.MOV

这可行,但是当我想删除文件时:

tar -dvf foo.tar IMG_1807.MOV

不起作用。它显示输出:

Terminal:~/Desktop$ tar -dvf foo.tar IMG_1807.MOV 
IMG_1807.MOV
Terminal:~/Desktop$ tar -tvf foo.tar
-rw-rw-r-- user/user    33084363 2018-12-19 03:02 IMG_1807.MOV

但没有删除任何内容。我该怎么办?

其次,我如何从file.tar.gzfile.tar.bz2或中添加或删除文件file.tar.xz?是否有任何命令,或者我应该始终解压缩并再次 tar?


编辑:

第三:如何从压缩文件中提取特定文件?或者如何从特定位置的 tar 中提取?这不起作用:

 tar -xvf foo.tar IMG_1807.MOV -C /path/to/destination

答案1

-d不是删除差异

man tar

 -d, --diff, --compare
       find differences between archive and file system

使用--delete

tar --delete -vf foo.tar IMG_1807.MOV

您无法更新tar.gz文件,请参阅


关于您的问题如何提取到特定位置:

您必须遵循正确的命令行顺序。-C作为选项位于 之前[pathname]man tar有关详细信息,请参阅。以下有效:

tar -xvf foo.tar -C /path/to/destination IMG_1807.MOV

相关内容