从OS X终端压缩文件?


50

在Finder中,这种出色的功能可以右键单击文件或目录,从下拉列表中选择“压缩”,最后得到一个压缩文件。

可以在终端上做同样的事情吗?

Answers:


69

叫做zip

这会将文件添加file到存档中file.zip

zip file.zip file

当然,要添加更多文件,只需将它们添加为命令的参数即可。查看man zip更多选项。

通常,您会希望跳过那些讨厌的.DS_Store文件,例如将整个文件夹压缩folderfolder.zip

zip -vr folder.zip folder/ -x "*.DS_Store"

单词zip后的(1)是什么?
Jacob Raccuia 2014年


它是OS X随附的普通的旧GNU zip吗?
mwfearnley

@mwfearnley在macOS下是Copyright (c) 1990-2008 Info-ZIPdeveloper.apple.com/legacy/library/documentation/Darwin/…–
slhck

联机帮助页的链接已man zip
损坏

15

要完全按照Finder命令压缩文件的方式压缩文件,请使用:

ditto -c -k --sequesterRsrc --keepParent src_directory archive.zip

详情请参阅man ditto

 The command:
       ditto -c -k --sequesterRsrc --keepParent src_directory archive.zip
 will create a PKZip archive similarly to the Finder's Compress function-
 ality.

3
这是最佳答案,因为它会生成相同的zip,而CLI zip或tar则有所不同,并且略小。一个具有相同答案的类似问题:stackoverflow.com/questions/10738505/…–
亨利·布莱斯

5

tar(1)和gzip(或bzip2或lzma)。Tar用于将许多文件滚动到一个存档中,而其他三个文件之一用于压缩它。

在命令行上,您将使用两个选项调用tar来创建档案并将其gzip压缩。

例如:

tar -c -z -f myarchive.tar.gz -C /home/username Downloads

这威尔· -c reate AG -z ipped存档命名-f从ILE -C焊割文件夹到目录将包含在文件夹中下载的所有文件。-C选项是可选的,如果省略,将从当前文件夹中获取源文件参数。

供参考: tar教程

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.