bash:/ bin/tar:使用tar压缩许多文件时,参数列表太长了

Gia*_*dos 17 linux bash tar

我正在尝试使用该命令压缩存档中的文件

tar -czvf compress_file.tar.gz $(cat file_list.txt)
Run Code Online (Sandbox Code Playgroud)

我有一个错误

-bash: /bin/tar: Argument list too long
Run Code Online (Sandbox Code Playgroud)

文件编号太长,我该如何解决?

Mar*_*ell 45

使用"-T"选项将文件传递给包含要tar的文件名的tar.

tar -cv -T file_list.txt -f tarball.tar
Run Code Online (Sandbox Code Playgroud)

  • 对于那些想要开始创建文件列表的人来说,只删除那些"tar"的文件,请看这个例子:https://major.io/2007/07/05/bintar-argument-list-太长/ (9认同)
  • 您仍然可以使用"-z"选项一次性创建一个gzip压缩包... tar -cvz -T ... (4认同)

小智 12

以及如何创建要压缩的文件列表:首先创建要压缩的文件列表

ls > temp
Run Code Online (Sandbox Code Playgroud)

然后

tar cvzf dicionario_ultra.tgz -X FILE -T temp
Run Code Online (Sandbox Code Playgroud)

最后

rm temp
Run Code Online (Sandbox Code Playgroud)