Mac效率指南压缩篇

Thu 22 October 2015

Mac效率指南压缩篇

Mac之所以优雅是因为她是图形系统和命令行的完美结合。

在Mac上你可能会安装The Unarchiver来解压除zip外的压缩包(系统默认支持zip解压)。但在终端(例如: iTerm2)用命令解压压缩更高效。

ZIP解压

这是最常见的压缩格式了。 Macintosh 系统已经内置了zipunzip两个命令。

解压到当前目录:

unzip test.zip

解压文件到指定目录:

unzip test.zip -d dir

在解压前可以先预览一下压缩包内的路径,看是否需要解压到指定目录:

unzip -l test.zip

此外解压时还可以-x排除某些文件,更多用法: unzip --help

ZIP压缩

压缩单个文件:

zip test.zip test.txt

压缩多个文件:

zip test.zip test1.txt test2.txt

压缩目录:

zip -r test.zip dir

我们可以指定压缩率从-1(更快)到-9(压得更好)。还有一个特殊的-0(不压缩), 很实用,例如你想把照片打包(照片文件已经很难再压缩了)。例如:

zip -0 -r pic.zip pic

更多用法: zip --help

RAR解压

我们需要安装一个unrar,推荐使用 brew 安装: brew install unrar

解压到当前目录:

unrar x test.rar

如果要解压到指定目录:

unrar x test.rar dir

查看压缩包里的内容:

unrar l test.rar

更多用法: unrar不带任何参数

RAR压缩

unrar是商业软件的免费礼物,但却没有rar这个免费午餐(人家还指望你购买WinRAR呢)。另外你也没必要压成rar这种格式,太多压缩格式可以选择了。

tar解压

zip, rar在Linux/UNIX平台算是非主流的压缩格式,主流的是tar.gz。tar.gz是什么压缩格式呢?

tar.gz是tar格式的archive加gzip压缩的一个组合体。有的时候也缩为tgz。类似有:tar.bz2, tar.xz。

Archive格式进归档不压缩, 把多个文件或目录变成一个文件。除了tar这个归档格式外,还有cpio

tar.bz2 = tar + bzip2
tar.xz = tar + xz
tar.lzma = tar + lzma

xz是什么东东?xz是一个使用LZMA2压缩算法的无损数据压缩文件格式。选tar.xz还是tar.lzma你自己看着办吧。

提取tar: tar -xf test.tar

解压tar.gz: tar -zxf test.tar.gz

解压tar.bz2: tar -jxf test.tar.bz2

解压比单纯的提取多了一个参数,这个参数就是压缩算法:

-z gzip
-j bzip2
-J xz
--lzma lzma

如果想看到具体的过程加上参数-v, 在压缩包内文件较多的情况下不建议加上-v, 影响效率。

tar压缩

创建tar的参数是-cf,其他和解压参数一样:

压缩成tar.gz: tar -zcf test.tar.gz file_or_dir

压缩成tar.bz2: tar -jcf test.tar.gz file_or_dir

cpio解压

大部分人可能一年都碰不到一次,但有人确实有这样的需求。现在很多路由器固件和手机rom会涉及到cpio这种archive格式。

我们需要用两个命令才能压缩或解压, 不如tar方便。

解压cpio.gz:

gunzip test.cpio.gz
cpio -idmv < test.cpio

或者(管道串起两个命令):

zcat test.cpio.gz | cpio -idmv

解压cpio.bz2:

bzcat test.cpio.bz2 | cpio -idmv

cpio压缩

将dir目录压缩:

find dir| cpio -pdumv . | gzip > test.cpio.gz

其他

为什么会出现Archive+Compress的格式, 因为有些压缩工具只支持压缩单个文件。我们常见的zip其实是先压缩再归档的。

大部分人对cpio的操作可以忽略,掌握前面几种压缩解压,基本上大部分压缩包你都可以搞定了。

关于zip解压后文件名乱码的问题,这个是因为压缩时非ANSI路径的编码问题。在Windows上压缩工具默认不是UTF-8编码。

遇到上面没覆盖的压缩格式,再找The Unarchiver吧。

Category: Mac Tagged: Mac 压缩 zip rar tar

comments

Page 1 of 1