ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

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

2022-03-03 11:31:25  阅读:297  来源: 互联网

标签:解压 bz2 tar tgz 压缩 examples Linux


转自:https://www.joshua317.com/article/34

常用的格式有: 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 从一个归档文件中提取文件

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

(2)释放解压格式:

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

3 tar.bz

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

(1)打包压缩格式:

tar -jcvf file.tar.bz2 dir #dir目录

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

(2)释放解压:

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

4 gz 压缩:

https://www.runoob.com/linux/linux-comm-gzip.html

gzip -d examples.gz examples

解压:

https://www.runoob.com/linux/linux-comm-gunzip.html

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的目录来测试,首先要明确由于执行环境的变化,误差在所难免

首先明确一个概念: 压缩比率=原内容大小/压缩后大小,压缩比率越大,则表明压缩后占用空间的压缩包越小。

语法:

在打包或解压命令加time,以tar打包举例:

time tar -cvf test.tar /usr/test
对比如下:

综合起来:

  • 在压缩比率上: tar.bz2>tgz>tar
  • 占用空间与压缩比率成反比: tar.bz2<tgz<tar
  • 耗费时间(打包,解压) 打包:tar.bz2>tgz>tar 解压: tar.bz2>tar>tgz

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

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

 

标签:解压,bz2,tar,tgz,压缩,examples,Linux
来源: https://www.cnblogs.com/vickylinj/p/15958957.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有