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

常用的格式有:

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

不同方式,压缩和解压方式所耗CPU时间和压缩比率也差异也比较大。

1. tar

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

(1)打包归档格式:

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.tar file1 #file1文件

tar -cvf file.tar file1 file2 #file1,file2文件

tar -cvf file.tar dir #dir目录

复制代码

(2)释放解压格式:

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)打包压缩格式:

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

说明:

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

举例:

tar -zcvf file.tgz dir #dir目录

(2)释放解压格式:

tar -zxvf examples.tar (解压至当前执行目录下)

tar -zxvf examples.tar -C /path (/path 解压至其它路径)

举例:

tar -zcvf file.tgz

tar -zcvf file.tgz -C /temp

3 tar.bz

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.bz2

tar -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

大小:

打包前:

打包后:

耗时:3m20.709s

压缩比率:/

解压:

time tar -xvf test.tar

大小:

解压前:

解压后:

耗时:

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

大小:

打包前:

打包后:

耗时:

压缩比率:

解压:

tar -zxvf test.tar

大小:

解压前:

解压后:

耗时:

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

大小:

打包前:

打包后:

耗时:80m39.422s

压缩比率:

解压:

time tar -jxvf test.tar.bz2

时间:

real 27m54.525s

user 27m44.108s

sys 1m43.645s

大小:

解压前:

解压后:

5a877d2e07fb817aa258a13a29098c27.png

综上结果,初步结论:

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

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

耗费时间(打包,解压)

打包:tar.bz2>tgz>tar

解压: tar.bz2>tar>tgz

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

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

结论:

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

浅谈Linux下各种压缩 解压命令和压缩比率对比

Linux下压缩.解压命令五花八门,不像在windows下一个winrar打遍天下无敌手,清一色的.rar .zip格式. 比如,Linux下常用的tar tar.gz tar.bz2 .Z等等不一而 ...

Linux下常用压缩 解压命令和压缩比率对比

常用的格式有:tar, tar.gz(tgz), tar.bz2, 不同方式,压缩和解压方式所耗CPU时间和压缩比率也差异也比较大. 1. tar只是打包动作,相当于归档处理,不做压缩:解压也一样,只 ...

【转】Linux下常用压缩 解压命令和压缩比率对比

https://www.cnblogs.com/joshua317/p/6170839.html 常用的格式有:tar, tar.gz(tgz), tar.bz2, 不同方式,压缩和解压方式所耗CPU ...

linux下的文件解压命令

说一下tar命令的参数含义:z,使用gzip解压,x:extract解压,v:显示详细信息,f:使用归档在当前文件夹. 在解压时出现了解压失败,原因是没有sudo,无法创建文件夹.

Linux常用命令——压缩解压命令

Linux常用命令——压缩解压命令 Linux  gzip 描述:压缩文件 语法:gzip [文件名] 压缩后文件格式:.gz gunzip 描述:解压后缀为.gz的文件 语法:gunzip [文件名 ...

Linux常用命令6 压缩解压命令

.zip是Linux和Windows共有的压缩格式 1.压缩解压命令:gzip 命令英文原意:GNU zip   命令所在路径:/bin/gzip 执行权限:所有用户 语法: gzip [文件]   ...

linux笔记:linux常用命令-压缩解压命令

压缩解压命令:gzip(压缩文件,不保留原文件.这个命令不能压缩目录) 压缩解压命令:gunzip(解压.gz的压缩文件) 压缩解压命令:tar(打包压缩目录或者解压压缩文件.打包的意思是把目录打包成 ...

linux中tar及压缩解压命令用法

把常用的tar解压命令总结下,当作备忘: tar 命令可以为Linux的文件和目录创建档案.利用 tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向 档案中加入新的文件.t ...

tar.xz如何解压:linux和windows下tar.xz解压命令介绍

在linux下怎么解压和压缩tar.xz文件? (本文由www.169it.com搜集整理) 在linux下解压tar.xz文件步骤 1 2 # xz -d ***.tar.xz  //先解压xz # ...

随机推荐

My Env

Font -- YaHei Consolas Hybrid YaHei ConsolasAsume that we put the font file in /usr/share/fonts/myfo ...

iOS 工程功能实现之好用的第三方

1.http://www.cocoachina.com/ios/20140224/7868.html  (一个天气App案例) LBBlurredImage是一个继承自UIImageView,轻而易举 ...

Windows phone8.1教务在线客户端

本人是个大二学生,由于学校的教务在线一直没出windows phone的教务在线,而且本身也对wp开发感兴趣,所以就尝试着开发一下 由于没有系统的学习,只能在摸索中前进,这背后的原理很简单,可不容易实 ...

Maven仓库的理解及配置

什么是Maven仓库 在不用Maven的时候,比如说以前我们用Ant构建项目,在项目目录下,往往会看到一个名为/lib的子目录,那里存放着各类第三方依赖jar文 件,如log4j.jar,junit. ...

linux命令:cat

1:命令介绍: cat用来打印标准输入或连接文件.tac是其相反命令,从最后一行开始打印. 2:命令格式: cat [选项] 文件 3:命令参数: -A, --show-all           等 ...

CSS中属性position位置详解功能讲解与实例分析

position有五个值:static.relative.absolute.fixed.inherit. static 是默认值.就是按正常的布局流从上到下从左到右布局,平常我们做网页制作时,没有指定 ...

Andriod wifi 基本操作

从用户角度看,Android Wi-Fi模块自下向上可以看为5层:硬件驱动程序,wpa_suppplicant,JNI,WiFi API,WifiSettings应用程序. 1.wpa_supplic ...

JNI/NDK开发指南(开山篇)

转载请注明出处:http://blog.csdn.net/xyang81/article/details/41759643 相信很多做过Java或Android开发的朋友经常会接触到JNI方面的技术, ...

为了启动我在openshift的angular应用

在Windows环境下搭建OpenShift环境,安装客户端工具rhc,首先需要安装Ruby和Git,参阅https://developers.openshift.com/en/getting-sta ...

[Usaco2007 Dec]Building Roads 修建道路[最小生成树]

Description Farmer John最近得到了一些新的农场,他想新修一些道路使得他的所有农场可以经过原有的或是新修的道路互达(也就是说,从任一个农场都可以经过一些首尾相连道路到达剩下的所有农 ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值