![使用 tar 压缩文件列表](https://linux22.com/image/823053/%E4%BD%BF%E7%94%A8%20tar%20%E5%8E%8B%E7%BC%A9%E6%96%87%E4%BB%B6%E5%88%97%E8%A1%A8.png)
我正在尝试使用 tar 压缩文件列表。
所以我正在做的是
sudo tar -pcf filename.tgz `cat filename.list`
如果列表中有一个这样的目录
/home/vmuser/.gconf
tar 会压缩该文件夹中的所有内容。但是我想要的只是添加列表中的所有内容。
答案1
如果您想要tar
列出的所有文件filename.list
,您应该使用tar -T filename.list
命令而不是tar 'cat filename.list'
。
来自tar
手册页:
-T, --files-from FILE
get names to extract or create from FILE
使用-T
将防止您收到错误:
-bash: /bin/tar: Argument list too long
如果您尝试压缩大量文件。
为了防止目录的递归压缩,请使用--no-recursion
@Ignacio Vazquez-Abrams建议的标志。最终命令变为:
tar -pcf filename.tgz -T filename.list --no-recursion
答案2
从tar(1)
手册页中:
--no-recursion
avoid descending automatically in directories