我想将文件附加到foo.tar:
tar -rvf foo.tar IMG_1807.MOV
Run Code Online (Sandbox Code Playgroud)
这可行,但是当我想删除文件时:
tar -dvf foo.tar IMG_1807.MOV
Run Code Online (Sandbox Code Playgroud)
不起作用。它显示了输出:
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
Run Code Online (Sandbox Code Playgroud)
但不会删除任何内容。我应该怎么办?
其次,如何在file.tar.gz或file.tar.bz2或中添加或删除文件file.tar.xz?是否有任何命令或者我应该总是再次解压和压缩?
编辑:
第三:如何从压缩文件中提取特定文件?或者如何从特定位置的 tar 中提取?这不起作用:
tar -xvf foo.tar IMG_1807.MOV -C /path/to/destination
Run Code Online (Sandbox Code Playgroud)
-d不是删除而是diff。
从man tar:
Run Code Online (Sandbox Code Playgroud)-d, --diff, --compare find differences between archive and file system
使用--delete。
tar --delete -vf foo.tar IMG_1807.MOV
Run Code Online (Sandbox Code Playgroud)
关于您的问题如何提取到特定位置:
您必须遵循正确的命令行顺序。-C作为一个选项之前[pathname]。请参阅man tar获取更多信息。以下作品:
-d, --diff, --compare
find differences between archive and file system
Run Code Online (Sandbox Code Playgroud)