linux压缩和解压缩命令大全_解压命令

linux压缩和解压缩命令大全_解压命令linux下压缩命令和压缩实验_linux压缩率

*******************************************************************************************************************

author:joshua317

editor:keyinfo

date:2021-06-10 09:40:07

*******************************************************************************************************************

文章转载自:Linux下常用压缩 解压命令和压缩比率对比 – joshua317的博客

常用的格式有: tar, tar.gz(tgz), tar.bz2,

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

1.tar

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(keyinfo:就是把打包完成后文件以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 从一个归档文件中提取文件

-v, –verbose verbosely list files processed 显示创建归档文件的进程

-f, –file=ARCHIVE use archive file or device ARCHIVE 后面要立刻接被处理档案名,比如–file=examples.tar(keyinfo:就是要把examples.tar释放压缩,-C 表示解压路径

#举例:

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

2.tar.gz tgz

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压缩的形式对文件进行归档

-c, –create create a new archive 创建一个归档文件

-v, –verbose verbosely list files processed 显示创建归档文件的进程

-f, –file=ARCHIVE use archive file or device ARCHIVE 后面要立刻接被处理档案名,比如–file=examples.tar(keyinfo:就是把打包完成后文件以examples.tar命名

举例:

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

(keyinfo:原作者这里gzip -d examples.gz examples有错误,-d是解压参数,正确的使用应该是:gzip  examples,注意:源文件也会消失)

解压

gunzip examples.gz

keyinfo:gzip -d examples等同于gunzip examples.gz,注意:gzip千万不要加-v参数,不然弹出的详细信息很烦。。。。

5.zip

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

压缩

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

解压

zip examples.zip

(keyinfo:原作者这里有误,应该是unzip examples.zip)

6 .rar

压缩

rar -a examples.rar examples

(keyinfo:这个rar原作者可能已经很久没更新了,最新rar压缩方式:

rar a examples.rar examples,是没有“-”字符)

解压

rar -x examples.rar

(keyinfo:这个rar原作者可能已经很久没更新了,最新rar解压缩方式:

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

linux压缩和解压缩命令大全_解压命令

综上结果,初步结论:

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

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

结论:

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

本文为joshua317原创文章,转载请注明:转载自joshua317博客 Linux下常用压缩 解压命令和压缩比率对比 – joshua317的博客

====================================================

本人测试

====================================================

在通过本人对一个一百多M的文件进行测试的时候,发现以下结果

linux压缩和解压缩命令大全_解压命令

可以看出

rar > zip = gz = tgz > tar.bz2 > tar(tar是打包不压缩) = 源文件

今天的文章linux压缩和解压缩命令大全_解压命令分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/87350.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注