如何将多个文件压缩成一个 gz 文件?

Ton*_*ny 84 linux unix bash gzip

我有 100 个文件:cvd1.txt, cvd2.txt...cvd100.txt

如何将gzip100 个文件合并为一个.gz文件,以便在我gunzip之后,我应该有cvd1.txt, cvd2.txt...cvd100.txt分开?

Sie*_*geX 99

你想把tar你的文件和gzip生成的 tar 文件放在一起。

tar cvzf cvd.tar.gz cvd*.txt
Run Code Online (Sandbox Code Playgroud)

要解压 gzip 压缩的 tar 文件,您可以执行以下操作:

tar xvzf cvd.tar.gz -C /path/to/parent/dir
Run Code Online (Sandbox Code Playgroud)

这将在/path/to/parent/dir目录下提取您的文件

  • 如果您使用扩展名 .tgz(tar gz 的缩写)命名文件,则 Windows 程序会将其识别为 winzip 等可以按原样处理的内容。恭喜 SiegeX 获得 10K! (7认同)

小智 47

如果你有拉链

zip myzip.zip cvd*.txt
Run Code Online (Sandbox Code Playgroud)

不需要tar他们先。


小智 30

您将要使用 tar,如下所示:

tar -czvf file.tar.gz cvd*.txt

tar 将文件放在一起,而 gzip 然后执行压缩。

引用 gzip 联机帮助页:

如果您希望创建具有多个成员的单个存档文件,以便稍后可以独立提取成员,请使用诸如 tar 或 zip 之类的存档程序。GNU tar 支持 -z 选项以透明地调用 gzip。gzip 被设计为 tar 的补充,而不是替代


Joe*_*Joe 13

gzip 本身对文件结构一无所知。要执行您想要的操作,您需要首先将文件放入某种容器文件(例如 tar 结构或类似文件)中,然后对其进行 gzip。tar 在 GNU 平台上具有 z 和 j(用于 bzip2)开关来执行此操作。

  • 开关实际上是“z”(“x”用于提取)。很高兴您提到了 'j'/bzip2 - 更紧密的压缩。 (2认同)

Vah*_*d F 7

您可以使用:

zip my_final_filename.zip my_first_file my_second_file ... my_last_file

unzip my_final_filename.gz
Run Code Online (Sandbox Code Playgroud)

或者

tar cvzf my_final_filename.tar.gz my_first_file my_second_file ... my_last_file

tar -czvf my_final_filename.tar.gz
Run Code Online (Sandbox Code Playgroud)

不幸的gzip是没有能力做到这一点。如果有更多信息,请查看评论。