Linux上的GZip压缩文本文件中指定的文件

问题描述:

我有一个文本文件,其中包含要压缩到单个压缩文件中的文件列表的路径。我如何将这个文件传递给GZIP,以便它可以创建列表中指定的所有文件的存档?Linux上的GZip压缩文本文件中指定的文件

米兰

gzip一次只能处理一个文件。您需要先使用tar对文件进行归档。 Tar可以同时进行压缩(使用“z”参数)。

tar cfz archive.tar.gz `cat file` 
+0

x提取,您需要使用c。 – Erik

+0

@Erik - 谢谢 - 已更正 – qbert220

gzip只压缩一个文件。用途:

tar czf target.tar.gz `cat listoffile` 

那么,摆在首位,gzip不压缩多个文件合并成一个单一的一个,所以你首先tar。至少GNU tar我检查有选项

-T, --files-from F 
      get names to extract or create from file F 

,所以我想tar cfzvT target.tar.gz sourcelist会工作。

+0

我总是喜欢使用tar时的选项串接。 – GorillaPatch

+0

@Gorilla:Windows已经在这方面赢得了声誉,其中一个常见的组合是“xcopy/k/r/e/i/s/c/h”,“kreischen”是德国人(歇斯底里)尖叫。我不知道开关是做什么的,但我永远不会忘记这个组合。 –