分享

Mac os x下的文件分卷压缩与解压

 dongsibei 2014-05-02
网上找了不少地方,但很多博客转贴千篇一律(都是错的)毫无价值
这里总结下,方便以后需要搜索的朋友
虽说是古老的命令行,不过现在的各种GUI软件就是一台自动洗衣机。哪天手边没有这台洗衣机的时候我还需要自己有能力动手洗衣服呀。

0. mac 以及 linux 等类UNIX系统解压文件的特点
一般都是在终端进入被压缩文件的文件夹,这样就不需要在命令中输入绝对路径。生成的压缩文件也会放在这个目录里。

1. gzip压缩文件的生成
  1. tar -zcvf <压缩文件名>.tar.gz <要压缩的文件夹或者文件名>
复制代码
-z表明创建zip压缩文件,后面的后缀一定要是tar.gz
-c创建打包文件
-v显示压缩过程
-f归档名

示例:桌面有一名为User_Guide.pdf 的文件,试生成压缩为名为test 的gzip文件
进终端->cd ~/Desktop 切换到桌面目录 -> tar -zcvf test.tar.gz User_Guide.pdf

2. 多文件的zip压缩
可以创建一个文件夹,把文件放进去压缩,或者采用通配符。比如要压缩 .jpg 文件,那么可以用 *.jpg指代该目录下的所有jpg文件

3. 本文重点。文件分卷压缩
  1. split -b <分卷大小> <要拆分的文件名> <分卷名前缀>
复制代码
示例:将1.中建立的test.tar.gz 拆分为数个大小不超过900k的文件
进入终端并进入桌面所在目录。
  1. split -b 900k test.tar.gz splt.tar.gz.
复制代码
注意后面的 split.tar.gz. 以"."结尾的,这样拆分的文件就得到 split.tar.gz.aa split.tar.gz.ab....否则得到的是 xaa, xab, xac这样的文件

如果先建立一个压缩文件,再进行拆分的话,虽然可行,但是多少有些不方便。现在用 " | "通道将两个命令一同执行
  1. tar -zcvf - User_Guide.pdf  | split -b 900k - splt.tar.gz.
复制代码
这里需要注意的是在原文件和分卷压缩前缀前面都有一个用空格隔开的 "-" ,这个 - 的意义就是指代前者生成的gzip文件以及后者将要分割的目标文件。也就是说这个 - 可以看作一种缓存,将生成的gzip暂时放在缓存里用 - 指代以方便后续的调用。

4. 分卷压缩文件的合并
十分简单,用cat命令合并文件(cat也可用于文本文件的合并),用通配符指定要合并的文件即可
接上例。生成了 splt.tar.gz.aa ~~~~ splt.tar.gz.ad 共四个文件,同样将终端定位到桌面目录下
  1. cat split.tar.gz.a*>new.tar.gz
复制代码
执行后即可看到桌面多出一个new.tar.gz 的压缩文件
类似3.当中提到的,这条合并命令一样可以用 | 在一条命令内实现“合并+解压”的任务。
  1. cat split.tar.gz.a* | tar -zxv
复制代码
注意这里两步执行的时候同样用到了类似上面的缓存操作,所以并不需要指定合并后的压缩文件的具体名称,后面的tar命令也不需要加上-f参数指定名称了。

所有命令均在os x 10.8下运行通过,打完收工~~

duskash 于 12/8/20 02:01 PM 补充以下内容:
本文不涉及 其他格式的压缩文件的生成和解压命令
重点在于“分卷压缩”,其他的请各位看官举一反三

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多