Linux下压缩、解压命令很多灵活度很大,不像在windows下winrar或360压缩几乎各占版比江山,清一色的.rar .zip格式。Linux下常用的tar tar.gz tar.bz2 .Z等等格式种类繁多。而每种压缩和解压方式所耗CPU时间和压缩比率也差异甚大。在此我一一列举,希望不当之处,敬请各位指教。

1 各种压缩 解压命令Demo

(1) tar

仅仅做打包动作,相当于归档处理,不做压缩;解压也一样,只是把归档文件释放出来。

打包归档:
tar -cvf examples.tar examples   (examples为shell执行路径下的目录)
释放解压:
tar -xvf examples.tar (解压至当前shell执行目录下)
tar -xvf examples.tar  -C /path (/path 解压至其它路径)

(2)tar.gz tgz (tar.gz和tgz只是两种不同的书写方式,后者是一种简化书写,等同处理)

Linux下使用非常普遍的一种压缩方式,兼顾了压缩时间(耗费CPU)和压缩空间(压缩比率) 其实这是对(1)的tar包进行gzip算法的压缩

打包压缩:
tar -zcvf examples.tgz examples   (examples为shell执行路径下的目录)释放解压:
tar -zxvf examples.tar (解压至当前shell执行目录下)
tar -zxvf examples.tar  -C /path (/path 解压至其它路径)

(3)tar.bz

Linux下压缩比率较tgz大,即压缩后占用更小的空间,使得压缩包看起来更小。但同时在压缩,解压的过程却是非常耗费CPU时间。

打包压缩:
tar -jcvf examples.tar.bz examples   (examples为shell执行路径下的目录)释放解压:
tar -jxvf examples.tar.bz (解压至当前shell执行目录下)
tar -jxvf examples.tar.bz  -C /path (/path 解压至其它路径)

(4) tar.bz2

较tar.bz有着更快速的效率。所使用的命令与(3)相同,不再赘述。

(5) .gz

压缩:
gzip-d examples.gz examples解压:
gunzip examples.gz

(6) .Z

压缩:
compress files解压:
uncompress examples.Z

(7) tar.Z

压缩:
tar -Zcvf examples.tar.Z examples解压:
tar -Zxvf examples.tar.Z

(8) .zip

压缩:
zip -r examples.zip examples (examples为目录)解压:
zip examples.zip

(9) .rar

压缩:
rar -a examples.rar examples解压:
rar -x examples.rar

----------------------------------------------------------------------------------------

2 各种压缩比率,占用时间对比

为了保证能够让压缩比率较为明显,需选取一个内容较多、占用空间较大的目录作为Demo。我将自己Ubuntu 9.10中/user/local整个目录作为范例,/user/local内所有文件总计大小为877.7MB。

在此,我们定义 压缩比率=原内容大小/压缩后大小,压缩比率越大,则表明压缩后占用空间的压缩包越小

(1).tar

tar -cvf local.tar /usr/local

打包后 local.tar: 892.6MB, 耗费时间:55 s (秒)。此实验打包后.tar后反倒比原来文件内容更大,出乎意料! 压缩比率为877.7/892.6=0.98(居然不是相同,等于1!)

 tar -xvf local.tar

释放877.7MB(与原/usr/local大小完全相同,符合预期),耗费时间:78 s,比打包耗时

对于.tar而言,打包比释放较为快速,但打包后的.tar比原目录内容所占空间要大。

(2) .tgz

tar -zcvf local.tgz /usr/local

打包后 local.tgz: 344.1MB, 耗费时间: 146 s (秒)。此实验说明.tgz压缩到50%以下的空间,具体为 压缩比率=877.7/344.1 =2.55

tar -zxvf local.tar

解压877.7MB,耗费时间: 56 s。 此与.tar 正相反,解压比打包省时了很多,接近到打包时间的三分之一。

(3) .tar.bz

tar -jcvf local.tar.bz /usr/local

打包后local.tar.bz: 318.4 MB 耗费时间:330 s(即5 m 30 s,非常之漫长!) 压缩比率为877.7/318.4=2.76

相对于.tgz的压缩得更小巧,但优势并不大,CPU耗费时间却多了两倍多。

tar -xcvf local.tar.bz

解压877.7 MB,耗费时间: 128 s。 此与.tgz相似,解压比打包省时很多,接近打包时间的三分之

(4) .tar.bz2

tar -jcvf local.tar.bz2 /usr/local

打包后local.tar.bz: 318.4 MB 耗费时间: 302 s 压缩比率为877.7/318.4=2.76

与.tar.bz打包后大小完全一致,但CPU耗费时间稍少一点。因此从此实验说明,网上一些言论称tar.bz2比tar.bz有着更大的压缩比率似乎说不通,只是速度稍快,高效了一些而已。

tar -xcvf local.tar.bz

解压877.7 MB,耗费时间: 123 s。 此与.tar.bz相差不大,略有优势。

由此可见,对于tar.bz 与tar.bz2打包后并无差异,只是tar.bz2较为快速,时间上略占上风。

其它如.zip .Z .rar等压缩方式在Linux下使用不是非常广泛,在此不做进一步探讨实验。

综合起来,在压缩比率上: tar.bz=tar.bz2>tgz>tar
占用空间与压缩比率成反比: tar.bz=tar.bz2 耗费时间(打包,解压)
打包:tar.bz>tar.bz2>tgz>tar
解压: tar.bz>tar.bz2>tar>tgz
从效率角度来说,当然是耗费时间越短越好

因此,Linux下对于占用空间与耗费时间的折衷多选用tgz格式,不仅压缩率较高,而且打包、解压的时间都较为快速,是较为理想的选择。

如果对效率很关切,非常在乎时间的话,选择tgz tar的方式都不错。当然,如果disk空间较为紧张,非常在乎空间的话,选择高压缩比率的tar.bz2则更为适宜。

Linux下压缩、解压命令、压缩比介绍说明相关推荐

  1. Linux下压缩解压命令

    这里写自定义目录标题 1.命令:zip 压缩: 文件:zip [压缩文件名] [需要压缩的文件] eg:zip passwd.zip passwd 目录:zip -r [压缩文件名] [需要压缩的目录 ...

  2. linux+shell+解压命令,linux shell 压缩解压命令

    .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) --------------- .gz 解压 ...

  3. linux压缩文件恢复,Linux文件压缩解压命令

    Linux文件压缩解压命令QV7南京数据恢复-西数科技: 硬盘/手机/SSD数据恢复专家. 025-83608636 18913825606 tar功能:文件压缩解压QV7南京数据恢复-西数科技: 硬 ...

  4. linux下unzip解压命令,linux的unzip解压命令的详细解释

    Linux中的unzip命令主要是用来解压zip格式的压缩文件.下面由学习啦小编为大家整理了Linux的unzip解压命令的详细解释,希望对大家有帮助! linux的unzip解压命令的详细解释 命令 ...

  5. 解压命令linux tgz,linux常用压缩解压命令:tar,tgz,gzip,zip,rar

    一,tar (一) tar压缩命令tar -cvf examples.tar files|dir #说明: -c, --create  create a new archive 创建一个归档文件 -v ...

  6. Linux下压缩解压文件和目录的方法(zip, tar)

    Linux下可以用zip命令方便的压缩文件或文件夹 压缩文件 $ zip data.zip data.xls $ zip data.zip data1.xls data2.xls 上述命令把一个文件或 ...

  7. linux常用压缩解压命令:tar,tgz,gzip,zip,rar

    https://www.csdn.net/tags/MtzaEg2sODczMDItYmxvZwO0O0OO0O0O.html 一,tar (一) tar压缩命令tar -cvf examples.t ...

  8. linux tar压缩解压命令

    命令格式 tar [选项...] [FILE]... 部分参数含义: -A :追加 tar 文件至归档 -c :建立一个压缩文件的参数指令(create 的意思): -x :解开一个压缩文件的参数指令 ...

  9. linux下的解压命令

    .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) --------------- .gz 解压 ...

  10. 解压 64位.tgz linux,Linux下压缩/解压方法大全

    linux下压缩包格式繁多,并且在命令行下没有Windows下使用那么方便,有时候解压文件的时候会突然忘掉命令,这里fcbu.com为大家收集了基本所有文件格式的解压方法和打包命令.需要的可以参考一下 ...

最新文章

  1. 2345电脑管家_极限挑战:同时安装4大国产杀毒软件,我的电脑是最安全的?
  2. JAVA写的爬虫小工具
  3. SqlServer操作远程数据库
  4. 以太坊(Ethereum ETH)是如何计算难度的
  5. 内网和外网的区别_无需服务器,树莓派使用内网穿透进行建站与维护
  6. 年假.........
  7. 简单排序算法(Java实现)
  8. 每天自动备份网站数据,发现问题一键恢复 ——阿里云虚拟主机推出网站数据自动备份功能...
  9. java 在某个范围内随机_java生成某个范围内的随机时间
  10. arcgis栅格邻域统计_运用ArcGIS进行影像分类
  11. 多臂老虎机导论(二)Stochastic Bandits
  12. Java里多个Map的性能比較(TreeMap、HashMap、ConcurrentSkipListMap)
  13. Scalaz(49)- scalaz-stream: 深入了解-Sink/Channel
  14. 你对Redis持久化了解多少?一篇文章让你明白Redis持久化
  15. Python编程的例子----股票数据接口
  16. sas 分析家模块 安装,SAS9.3 13.3G完整版安装过程与模块介绍
  17. 一个屌丝程序猿的人生(八十七)
  18. 错过等一年!物流与交通的先锋碰撞,点击进入这场大佬云集的学术盛宴
  19. 区间异或和——DongDong破密码
  20. 二维数组行列互调显示出来。如:123456789变成147258369。

热门文章

  1. 如何在 Linux 命令行中切换用户
  2. 扫描线Sweep Line算法总结
  3. 浙江省计算机二级vb考试提纲,浙江省大学生计算机等级考试二级(VB)考试大纲.doc...
  4. ZYNQ基础---AXI DMA使用
  5. 【UE4】游戏中近战攻击判定检测(一)——射线检测!
  6. 3D麻将游戏开发通用算法
  7. 更新Edge后百度网盘找不到倍速看这里
  8. 操作系统:SPOOLing技术(假脱机技术)
  9. 鲁商服务(02376.HK) 才经历了力高,又来个物业股!——2022年6月港股打新分析
  10. 禾穗漫读 | 面朝大海 春暖花开