使用 tar 压缩文件列表

使用 tar 压缩文件列表

我正在尝试使用 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

相关内容