当前位置:首页 > 网络知识 > 正文

Linux 中常用的打包/压缩方式以及优缺点、使用方式整理

问题背景

如果做一项自动化的任务,其中就包括一个导出的文件需要进行打包保存,但是由于文件过大,打包时间太久了,基本都要在15分钟+,于是就了解了一下Linux系统下常用的打包方式以及其相应的优缺点,最终确认一下使用哪种方式。

常用方式

.tar

  • 优点:只消耗非常少的CPU及时间打包
  • 缺点:只是一个打包工具,并不负责压缩
    所以其打包之后的大小基本和原文件相差不大,
//压缩
zip -r test.zip test
//解压
unzip test.zip  //直接解压
unzip test.zip -d test2/  //解压到test2/

.tar.gz

  • 优点:压缩时不会占用太多的CPU,就可以得到一个非常理想的压缩率。
  • 缺点:比较中庸
//压缩
tar -zcvf test.tar.gz test
//解压
tar -zxvf test.tar.gz
tar -zxvf test.tar.gz  -C test2/

.tar.xz

  • 优点:压缩率最高
  • 缺点:但需要压缩的时间较长。
//压缩
tar -Jcvf test.tar.xz test  //压缩
//解压
tar -Jxvf test.tar.x //直接解压

.tar.bz2

  • 优点:压缩率几乎最好的
  • 缺点:以时间换空间
//压缩
tar -jcvf test.tar.bz2 test
//解压
tar -jxvf test.tar.bz2
tar -jxvf test.tar.bz2 -C test2/

.zip

  • 优点:常用的文档压缩格式,跨平台,
  • 缺点:支持的压缩率不是很高。
//压缩
zip -r test.zip test
//解压
unzip test.zip  //直接解压
unzip test.zip -d test2/  //解压到test2/

.7z

  • 优点: 压缩率高
  • 缺点: 压缩时间长,文件损坏不易恢复
//压缩
7z a -r test.7z test/*
//解压
7z x test.7z -r -otest2/
-r 表示递归所有的子文件夹
-o 是指定解压到的目录,这里大家要注意-o后是没有空格的直接接目录

最终选择

所以,所以最终选择了什么呢?

目前选择的zip,不光上述优缺点,还考虑到的易用性。

    发表评论