2010-07-09 11:58:42 +0000 2010-07-09 11:58:42 +0000
67
67

命令 "gzip "文件夹?

我是Mac命令提示符的新手。如何在Mac OS X中创建一个文件夹的gzip?有几个人告诉我,如果你想创建一个文件夹的gzip,你应该先 “tar "它,然后 "gzip "它。这是正确的吗?

答案 (6)

132
132
132
2010-07-09 12:10:37 +0000

Tar是归档工具,gzip是压缩工具。为了压缩一个完整的目录,首先你需要把它归档成一个文件。这就是tar.然后你压缩存档文件的工作。你可以在一个tar命令中用适当的选项来完成这两个任务。

tar -czf folder\_name.tar.gz folder\_name/

如果你不想制作一个 tar 档案(可能你只想压缩一个文件),那么你可以直接使用 gzip 命令。

gzip file.txt

它将创建一个名为file.txt.gz的压缩文件。

14
14
14
2015-03-25 02:35:06 +0000

如果有人在搜索 “Mac中的gzip "时仍然发现这个问题,我写了一个指南,可能对其他人有用。它是这样的。

压缩

最基本的命令是压缩文件filename.ext 然后在同一目录下用filename.ext.gz代替。

gzip filename.ext

如果你不想丢失原来的文件,那么你需要将gzip -c的输出结果用管道传输到一个文件中。

gzip -c filename.ext > anotherfile.gz

我们还可以从标准输入中进行压缩,所以我们可以压缩其他命令的输出。

cat filename.ext | gzip > anotherfile.gz

OS X还带有compressuncompress命令。它们让gzip变得更 "聪明",因为如果文件在压缩过程后会增长,它就不会对文件进行压缩。下面的命令将filename.ext替换为同一目录下的filename.ext.Z

compress filename.ext

解压

要想将文件恢复到未压缩的自然状态,你可以使用gzip或其他的包装器。gzip 的解压模式是用 -d 标志来调用的。这种模式会将同一目录下的文件filename.ext.gz替换为filename.ext。还有一个叫做gunzip的快捷方式也会做同样的事情。

gzip -d filename.ext.gz
gunzip filename.ext.gz

我们还可以将解压后的文件用管道输送到标准输出,保存到另一个文件中。

gzip -cd filename.ext.gz > anotherfile
gunzip -c filename.ext.gz > anotherfile

另一种快速读取gzip内容到标准输出的方法是zcat,它与调用gzip -cd基本相同,但你可以调用多个文件,并让它们像cat命令协和文本文件一样协和。唯一的缺点是你的文件需要用.Z后缀才行……。

zcat filename.ext.Z
zcat file_a.Z file_b.Z file_c.Z

不过不用担心! zcat它仍然有用,因为它可以从标准输出中解压。所以你基本上可以把你的文件用管道传输到zcat,让它们在终端窗口解压。

cat filename.ext.gz | zcat

如果你需要非常快速地检查文件的内容,这个非常有用,你甚至可以把zcat的输出保存到一个文件中,一样简单。

cat filename.ext.gz | zcat > anotherfile

uncompress包装器的工作原理和gzip -cd一样,但它会在当前目录下寻找带有.Z扩展名的文件进行替换,所以你只需要指定你要还原的文件名,但如果你用.Z扩展名来调用它也没关系,因为程序会忽略它。

compress filename.ext
uncompress filename.ext

希望你觉得我的指南有用:)

4
4
4
2010-07-09 12:03:04 +0000

MacOS X是Unix,所以这应该是可行的(这在GNU/Linux上是可行的)

tar czvf compressed.tar.gz folder
``` 。
3
3
3
2010-07-09 22:42:42 +0000

补充一下@taskinoor的回答:如果你使用单文件版本,也就是

gzip file.txt

要注意原始文件(file.txt)将被删除,你将只有file.txt.gz

我会把这个作为评论,但没有足够的业力去做:=)

3
3
3
2010-07-09 12:04:07 +0000

是的,你必须先对目录进行压缩。tar命令可以做到这两点:

tar -czf archiv.tar.gz mydir/

提取你的存档:

tar -xzf archiv.tar.gz
```。
1
1
1
2010-07-09 12:04:43 +0000

是的,这是正确的。gzip只能压缩一个文件。tar将目录内容编码成一个文件,可以使用gzipbzip2lzma或其他任何方式进一步压缩。