thn*_*iss 75 mac compression command-line gzip macos
我是 Mac 命令提示符的新手。如何在 Mac OS X 中创建文件夹的 gzip?一些人告诉我,如果你想创建一个文件夹的 gzip,你应该先“tar”它,然后“gzip”它。这样对吗?
小智 144
tar 是存档工具,gzip 是压缩工具。为了压缩一个完整的目录,首先你需要将它归档到一个文件中。这就是 tar 的工作。然后压缩存档文件。您可以使用适当的选项在单个 tar 命令中完成这两项任务。
tar -czf 文件夹名称.tar.gz 文件夹名称/
如果您不想制作 tar 存档(可能只想压缩单个文件),那么您可以直接使用 gzip 命令。
gzip 文件.txt
它将创建一个名为 file.txt.gz 的压缩文件
小智 16
如果有人在搜索“Mac 中的 gzip”时仍然发现这个问题,我写了一个指南,它可能对其他人有用。它是这样的:
最基本的命令将压缩文件filename.ext,然后将其替换filename.ext.gz为同一目录中的文件。
gzip filename.ext
Run Code Online (Sandbox Code Playgroud)
如果您不想丢失原始文件,则需要将 的输出通过管道gzip -c传输到文件。
gzip -c filename.ext > anotherfile.gz
Run Code Online (Sandbox Code Playgroud)
我们也可以从标准输入压缩,所以我们可以压缩其他命令的输出。
cat filename.ext | gzip > anotherfile.gz
Run Code Online (Sandbox Code Playgroud)
OS X 还带有compress和uncompress命令。它们使 gzip 变得“更智能”,因为如果文件在压缩过程后会增长,它不会压缩文件。以下命令在同一目录中替换filename.ext为filename.ext.Z。
compress filename.ext
Run Code Online (Sandbox Code Playgroud)
要将文件恢复到未压缩的自然状态,您可以使用 gzip 或其他包装器。gzip 的解压方式是用-d标志调用的。该模式将替换该文件filename.ext.gz与filename.ext在同一目录。还有一个名为的快捷方式gunzip可以执行相同的操作。
gzip -d filename.ext.gz
gunzip filename.ext.gz
Run Code Online (Sandbox Code Playgroud)
我们还可以将解压后的文件通过管道传输到标准输出,以将其保存到另一个文件中。
gzip -cd filename.ext.gz > anotherfile
gunzip -c filename.ext.gz > anotherfile
Run Code Online (Sandbox Code Playgroud)
将 gzip 的内容读取到标准输出的另一种快速方法是zcat,它与调用基本相同,gzip -cd但您可以调用多个文件并将它们连接起来,就像cat命令连接文本文件一样。唯一的缺点是您的文件需要后缀.Z后缀才能工作...
zcat filename.ext.Z
zcat file_a.Z file_b.Z file_c.Z
Run Code Online (Sandbox Code Playgroud)
但不要害怕!zcat它仍然有用,因为它可以从标准输出解压。因此,您基本上可以将文件通过管道传输到 zcat,以便在终端窗口中将它们解压缩。
cat filename.ext.gz | zcat
Run Code Online (Sandbox Code Playgroud)
如果您需要非常快速地检查文件的内容,这非常有用,您甚至可以将 zcat 的输出保存到文件中,同样简单。
cat filename.ext.gz | zcat > anotherfile
Run Code Online (Sandbox Code Playgroud)
该uncompress包装的工作原理是gzip -cd,但它看起来与.Z扩展名的文件,以取代他们在当前目录,所以你只需要指定要恢复的文件名,但它是正常的,如果你用.Z扩展名调用它,如程序会忽略它。
compress filename.ext
uncompress filename.ext
Run Code Online (Sandbox Code Playgroud)
我希望你觉得我的指南有用:)
小智 5
是的,您必须先 tar 目录。tar-命令可以执行以下两项操作:
tar -czf archiv.tar.gz mydir/
Run Code Online (Sandbox Code Playgroud)
提取您的档案:
tar -xzf archiv.tar.gz
Run Code Online (Sandbox Code Playgroud)