Linux按压缩率大小排序,Linux下经常使用压缩 解压命令和压缩比率对比

经常使用的格式有:

tar, tar.gz(tgz), tar.bz2, 算法

不一样方式,压缩和解压方式所耗CPU时间和压缩比率也差别也比较大。测试

1. tar

只是打包动做,至关于归档处理,不作压缩;解压也同样,只是把归档文件释放出来。spa

(1)打包归档格式:code

tar -cvf examples.tar files|dir#说明:-c, --create create a new archive 建立一个归档文件-v, --verbose verbosely list files processed 显示建立归档文件的进程-f, --file=ARCHIVE use archive file or device ARCHIVE 后面要马上接被处理的档案名,好比--file=examples.tar#举例:tar -cvf file.tarfile1 #file1文件tar -cvf file.tarfile1 file2 #file1,file2文件tar -cvf file.tar dir #dir目录

(2)释放解压格式:blog

tar -xvf examples.tar(解压至当前目录下)tar -xvf examples.tar -C /path (/path 解压至其它路径)

#说明:-x, --extract, extract files from an archive 从一个归档文件中提取文件

#举例:tar -xvf file.tar

tar -xvf file.tar -C /temp #解压到temp目录下

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

这种格式是Linux下使用很是广泛的一种压缩方式,

兼顾了压缩时间(耗费CPU)和压缩空间(压缩比率)

其实这是对tar包进行gzip算法的压缩进程

(1)打包压缩格式:ip

tar -zcvf examples.tgz examples (examples当前执行路径下的目录)

说明:-z, --gzip filter the archive through gzip经过gzip压缩的形式对文件进行归档

举例:tar -zcvf file.tgz dir #dir目录

(2)释放解压格式:class

tar -zxvf examples.tar(解压至当前执行目录下)tar -zxvf examples.tar -C /path (/path 解压至其它路径)

举例:tar -zcvf file.tgztar -zcvf file.tgz -C /temp

3 tar.bztest

Linux下压缩比率较tgz大,即压缩后占用更小的空间,使得压缩包看起来更小。

但同时在压缩,解压的过程倒是很是耗费CPU时间。效率

(1)打包压缩格式:

tar -jcvf examples.tar.bz2 examples (examples为当前执行路径下的目录)

说明:-j, --bzip2 filter the archive through bzip2经过bzip2压缩的形式对文件进行归档

举例:tar -jcvf file.tar.bz2 dir #dir目录

(2)释放解压:

tar -jxvf examples.tar.bz2 (解压至当前执行目录下)tar -jxvf examples.tar.bz2 -C /path (/path 解压至其它路径)

举例:tar -jxvf file.tar.bz2tar -jxvf file.tar.bz2 -C /temp

4 gz

压缩:

gzip -d examples.gz examples

解压:

gunzip examples.gz

5 zip

zip 格式是开放且免费的,因此普遍使用在 Windows、Linux、MacOS 平台,要说 zip 有什么缺点的话,就是它的压缩率并非很高,不如 rar及 tar.gz 等格式。

压缩:

zip -r examples.zip examples (examples为目录)

解压:

zip examples.zip

6 .rar

压缩:

rar -a examples.rar examples

解压:

rar -x examples.rar

压缩比率,占用时间对比

为了保证可以让压缩比率较为明显,需选取一个内容较多、占用空间较大的目录做为本次实验的测试。

找了一个大概有23G的目录来测试,首先要明确因为执行环境的变化,偏差在所不免

首先明确一个概念:

压缩比率=原内容大小/压缩后大小,压缩比率越大,则代表压缩后占用空间的压缩包越小

.tar

打包:time tar -cvf test.tar /usr/test

时间:

real 3m20.709s

user 0m3.477s

sys 0m42.595s

大小:

打包前:23214680打包后:22202984耗时:3m20.709s

压缩比率:22202984/23214680解压:time tar -xvf test.tar大小:

解压前:22202984解压后:23211064耗时:

real 2m47.548s

user 0m4.999s

sys 1m14.186s

.tgz

打包压缩:time tar -zcvf test.tgz /usr/test

时间:

real 16m30.767s

user 16m1.394s

sys 1m7.391s

大小:

打包前:23211064打包后:18949032耗时:

压缩比率:

解压:tar -zxvf test.tar大小:

解压前:18949032解压后:23211064耗时:

real 3m52.418s

user 2m46.325s

sys 1m21.442s

.tar.bz2

打包压缩:time tar -jcvf test.tar.bz2 /usr/test

时间:

real 80m39.422s

user 80m14.599s

sys 0m58.623s

大小:

打包前:23211064打包后:18728904耗时:80m39.422s

压缩比率:

解压:time tar -jxvf test.tar.bz2

时间:

real 27m54.525s

user 27m44.108s

sys 1m43.645s

大小:

解压前:18728904解压后:23211064

8da7fa99cb737d15fa354959d594da1d.png

综上结果,初步结论:

综合起来,在压缩比率上: tar.bz2>tgz>tar

占用空间与压缩比率成反比: tar.bz2

耗费时间(打包,解压)

打包:tar.bz2>tgz>tar

解压: tar.bz2>tar>tgz

从效率角度来讲,固然是耗费时间越短越好

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

结论:

再一次印证了物理空间与时间的矛盾(想占用更小的空间,获得高压缩比率,确定要牺牲较长的时间;反之,若是时间较为宝贵,要求快速,那么所得的压缩比率必定较小,固然会占用更大的空间了)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值