浅谈Linux下各种压缩 解压命令和压缩比率对比
Linux下压缩、解压命令五花八门,不像在windows下一个winrar打遍天下无敌手,清一色的.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 各种压缩比率,占用时间对比
(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
因此,Linux下对于占用空间与耗费时间的折衷多选用tgz格式,不仅压缩率较高,而且打包、解压的时间都较为快速,是较为理想的选择。
如果对效率很关切,非常在乎时间的话,选择tgz tar的方式都不错。当然,如果disk空间较为紧张,非常在乎空间的话,选择高压缩比率的tar.bz2则更为适宜。
结论:
再一次印证了物理空间与时间的矛盾(想占用更小的空间,得到高压缩比率,肯定要牺牲较长的时间;反之,如果时间较为宝贵,要求快速,那么所得的压缩比率一定较小,当然会占用更大的空间了)。
浅谈Linux下各种压缩 解压命令和压缩比率对比相关推荐
- linux gz文件压缩比,浅谈Linux下各种压缩 解压命令和压缩比率对比.doc
浅谈Linux下各种压缩 解压命令和压缩比率对比 浅谈Linux下各种压缩 解压命令和压缩比率对比 Linux下压缩.解压命令五花八门,不像在windows下一个winrar打遍天下无敌手,清一色的. ...
- Linux按压缩率大小排序,Linux下常用压缩 解压命令与压缩比率对比
常用的格式有: tar, tar.gz(tgz), tar.bz2, 不同方式,压缩和解压方式所耗CPU时间和压缩比率也差异也比较大. 1. tar 只是打包动作,相当于归档处理,不做压缩:解压也一样 ...
- Linux下常用压缩 解压命令和压缩比率对比
https://www.cnblogs.com/joshua317/p/6170839.html Linux下常用压缩 解压命令和压缩比率对比 常用的格式有: tar, tar.gz(tgz), ta ...
- linux 下gz文件解压命令,Linux解压gz文件的命令怎么写
Linux解压gz文件的命令怎么写 发布时间:2020-11-17 13:39:53 来源:亿速云 阅读:122 作者:小新 小编给大家分享一下Linux解压gz文件的命令怎么写,相信大部分人都还不怎 ...
- Linux按压缩率大小排序,Linux下经常使用压缩 解压命令和压缩比率对比
经常使用的格式有: tar, tar.gz(tgz), tar.bz2, 算法 不一样方式,压缩和解压方式所耗CPU时间和压缩比率也差别也比较大.测试 1. tar 只是打包动做,至关于归档处理,不作 ...
- linux 下的rar解压命令
====================rar文件========================== 在liunx下原本是不支持rar文件的,需要安装liunx下的winrar版本,操作如下 wge ...
- linux cp mv区别,浅谈Linux下mv和cp命令的区别
1.功能上的区别 mv:用户可以使用该命令为文件或目录重命名或将文件由一个目录移入另一个目录中. cp: 该命令的功能是将给出的文件或目录拷贝到另一文件或目录中. 2.从inode角度来区分 mv:会 ...
- linux+shell+解压命令,linux shell 压缩解压命令
.tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) --------------- .gz 解压 ...
- LinuxStudyNote(29)-Linux常用命令(6)-压缩解压命令汇总gzip、gunzip、tar、zip、unzip、bzip2、bunzip2
注意linux中的压缩包windows都支持,但反过来就不一定了 压缩解压命令汇总 压缩文件类型 压缩命令 解压缩 .gz gzip person.file gunzip person.file.gz ...
最新文章
- seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
- 神经网络python实例分类_Python使用神经网络进行简单文本分类
- 【娱说】会玩游戏的人才能更快的在未来商业中“打怪升级”
- 2010考研全程学习规划简案【推荐】
- 搜索算法相似度问题之BM25
- 【单词】常见单词含义的辨异(emulator/simulator、hardware/firmware)
- 一套解决方案,多个项目
- Idea中jrebel激活码
- Control-M 调度工具
- 【报错】VMware Workstation 与 Device/Credential Guard 不兼容.在禁用 Device/Credenti
- OpenStack详解、排错、经验总结
- org.apache.kafka.clients.consumer.OffsetOutOfRangeException: Offsets out of range with no configured
- display:grid 布局实现两行两列
- wordpress采集插件-wordpress关键词插件-wordpress百度推送插件-wordpress蜘蛛统计分析插件
- 开源BBS论坛软件推荐
- HTTP Keep-Alive 学习
- 安卓自定义View画钟实现转动
- 字节跳动创始人张一鸣演讲
- 记牛客2018真题笔试刷(二)
- c语言双缓冲怎么用,C语言游戏编程:GDI怎么实现双缓冲绘图去掉闪烁
热门文章
- 探讨BFT的关键细节及Libra的Consensus组件
- Python计算机视觉编程学习笔记 三 图像到图像的映射
- 中国光刻机获得重大突破,富士康大规模采用国产光刻机
- lisp语言画地物符号_地图符号分为地物符号和特殊符号。
- 多个点坐标存储在str中,如何转换成LineString?
- 今民生:上海天伦医院告诫患者小心黑心医托?
- chrome浏览器如何避免network报错:ERR_CERT_AUTHORITY_INVALID并添加为例外或继续前往
- 竟然如愿让我拿到诸多大厂offer(头条,PDD,Alibaba)-来自Alibaba的Java面试指南,
- 分式相乘转换成分式加减的一般性方法的简单讨论
- 以服务为驱动 自上而下创建私有云