文档章节

Linux压缩那些事儿

linuxprobe16
 linuxprobe16
发布于 2016/11/20 10:08
字数 1323
阅读 14
收藏 0
点赞 0
评论 0

tar简介

Linux压缩那些事儿Linux压缩那些事儿
Linux的压缩命令的源文件只能有一个,这意味在压缩之前不得不先将要压缩的所有文件打包成一个包,然后再压缩包,这样来完成对多个文件的压缩。所以在了解解压缩之前就必须先了解打包命令。
Linux的打包一般都是通过tar命令来完成的,用tar来完成不同的动作是通过指定不同的参数来完成的,通常使用的也就是——x/c,这两个参数,它们的字面含义是 c——create,x——extract,创建和分包提取,另外还有一些常用的参数,比如 a 将tar添加到另外一个tar包的末尾,t 列出包中的文件,-C 将工作目录切换到指定的目录下,指定这个参数就可以将解压后的文件放到指定的目录当中去了。另外有一个重要的参数 f,这个参数可以打包的结果放在一个文件当中。

tar打包和解包

1.打包文件

将fiel1,file2,file3打包成file.tar:

tar -cf file.tar file1 file2 file3

-c 打包模式
-f 指定将要创建的打包结果存放文件

2.解包文件

现在有一个包file.tar将它解包:

tar -xf file.tar

-x 解包模式
-f 指定tar包文件

压缩软件简介

GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNⅨ系统的文件压缩。我们在Linux中经常会用到后缀为.gz的文件,它们就是GZIP格式的。现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式。
Linux压缩那些事儿Linux压缩那些事儿
bzip2 是一个基于Burrows-Wheeler 变换的无损压缩软件,压缩效果比传统的LZ77/LZ78压缩算法来得好。bzip2能够进行高质量的数据压缩。它利用先进的压缩技术,能够把普通的数据文件压缩10%至15%,压缩的速度和解压的效率都非常高!支持大多数压缩格式,包括tar、gzip 等等。
Linux压缩那些事儿Linux压缩那些事儿

压缩的作用毋庸置疑,一旦一件事物变的更为简单之后,各方面的操作就更为简单,Linux的压缩一般有几种方式,它们是gzip压缩,bzip2压缩,xz压缩。它们的输入都只有一个,下面讲一个实例,分别用这三种压缩方式来压缩file.tar,然后压缩好的压缩文件再分别用这三种方式解压,生成xfile.tar,由于分别对单纯的解压和压缩并不是本文的重点,所以有些参数就不着重介绍,但需要的时候会简单的介绍下。

压缩软件使用

1.用gzip操作

压缩:gzip file.tar (将文件压缩到指定的文件当中去,可用"gzip -c file.tar > file.tar.gz")
解压:gunzip file.tar.gz (将文件压缩到指定的文件当中去,可用"gzip -c file.tar > file.tar.gz")

2.用bzip2操作

压缩:bzip2 -c file.tar > xifle.tar.bz2
解压:bunzip2 -cv xfile.tar.bz2 > xfile.tar

3.用xz操作

压缩:xz -c file.tar > xfile.tar.xz
解压:unxz -c xfile.tar.xz > xfile.tar

对于压缩来讲,压缩率显然是首要关注点,就压缩率而言,xz>bzip2>gzip,一般情况下xz能比bzip2高出15%的压缩率,比gzip高出30%的压缩率,但是另外的有一些东西在具体的场合下还是需要关心的,比如CPU占有率,xz虽然压缩比高,但是它的耗时却是最多的,这意味着占用了更多的CPU时间片,所以在选择压缩算法的时候还应该考虑到现在的首要关注点是什么,以此来选择压缩算法。

tar压缩和解压

上面分别讲解了打包和解压缩这两个过程,但这两个过程是分开的,在通常情况下,这两个过程不会分开,而是用tar包一步将多个文件打包压缩成一个压缩包,下面将分别使用tar命令调用这三种压缩方式来完成一步将多个文件打包压缩成一个压缩包。

1.用tar调用gzip将file1,file2,file3生成压缩包,并解压。

压缩:tar -czvf file.tar.gz file{1,2,3}
解压:tar -xzvf file.tar.gz

2.用tar调用bzip2将file1,file2,file3生成压缩包,并解压。

压缩:tar -cjvf file.tar.gz file{1,2,3}
解压:tar -xjvf file.tar.gz

3.用tar调用xz将file1,file2,file3生成压缩包,并解压。

压缩:tar -cJvf file.tar.gz file{1,2,3}
解压:tar -xJvf file.tar.gz

对于上面的文字,有点需要注意,那就是后缀名并不是必须的,Linux当中后缀名都不是必须的,这应该是一个基础点,之所以指定后缀名是为了便于区别,也方便一些粗糙的识别程序。

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/

本文转载自:http://www.linuxprobe.com/linux-compress.html

共有 人打赏支持
linuxprobe16
粉丝 8
博文 696
码字总数 133617
作品 0
河东
176条DevOps人员常用的linux命令速查表

176条DevOps人员常用的linux命令速查表 运维派2018-01-031 阅读 Linux命令Linux 线上查询及帮助命令 文件和目录操作命令 查看文件及内容处理命令 文件压缩及解压缩命令 信息显示命令 搜索文件...

运维派 ⋅ 01/03 ⋅ 0

Linux压缩好帮手bzip2

导读 对文件进行压缩,可以通过使用较少的字节对文件中的数据进行编码来显著地减小文件的大小,并且在跨网络的文件的备份和传送时很有用。 另一方面,解压文件意味着将文件中的数据恢复到初始...

问题终结者 ⋅ 05/12 ⋅ 0

linux-4.16.8源码目录分析

【仍然是操作系统实验作业..我哭】【都是google来的答案,我什么都不知道...】 1.arch:与体系结构相关的代码,里面存放了很多cpu架构,比如arm,x86,MIPS,PPC等。Linux支持的每种体系结构(对...

qq_40172927 ⋅ 05/12 ⋅ 0

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

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

xiaocao13140 ⋅ 06/06 ⋅ 0

Linus Torvalds: 软件专利和方法专利都挺扯淡

Linus Torvalds 认为,现在的“版权所有”机制就是犯了大工业带来的资本主义哲学体系中二分法的大错,参与其中的人非成既败,根本没有一个“中间地带”能缓冲一下。( “大工业带来的资本主义...

小卒过河 ⋅ 2011/11/07 ⋅ 8

Linux下文件的打包、解压缩指令——tar,gzip,bzip2

Linux下文件的打包、解压缩指令——tar,gzip,bzip2   本文是对 鸟叔的Linux私房菜(基础学习篇) 第三版 的学习笔记,原文可参考原书中文网站 鸟叔的Linux私房菜。更多详细信息可直接参考对...

xiaocao13140 ⋅ 05/28 ⋅ 0

用示例讲解 Linux gunzip 命令

我们已经讨论过 Linux 下 gzip 命令的用法。对于初学者来说, 工具主要用于压缩或者展开文件。解压时,在 命令后添加 选项即可,使用示例如下: 不过,在解压或扩展 gzip 创建的压缩文件时,...

作者: Himanshu Arora ⋅ 04/15 ⋅ 0

Linux下xz与tar的区别

同一文件,tar.xz格式比tar.gz格式小了三分之一! 说明: xz是一个使用LZMA压缩算法的无损数据压缩文件格式。 和gzip与bzip2一样,同样支持多文件压缩,但是约定不能将多于一个的目标文件压缩...

easonjim ⋅ 2017/11/20 ⋅ 0

喧喧 1.5.0 优化服务器性能,支持将消息创建为然之待办

喧喧是由然之协同团队推出的一款轻量级的开源企业聊天软件。提供企业内部通讯交流、企业通讯录、协同办公通讯交流、企业IM解决方案。喧喧官网:http://xuan.im/ 1.5.0版本更新优化了服务器性...

anyo007 ⋅ 04/27 ⋅ 0

写给想学Linux系统管理的人

昨天看的一篇帖子,很受启发,今天把它发上来,希望对我们都有所帮助,也希望可以为我们指点明路!(如果你连这篇文章看完的耐心都没有的话,那么我希望你还是不要学linux了) linux太难用了...

happy_teemo ⋅ 04/21 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

645. Set Mismatch - LeetCode

Question 645. Set Mismatch Solution 思路: 遍历每个数字,然后将其应该出现的位置上的数字变为其相反数,这样如果我们再变为其相反数之前已经成负数了,说明该数字是重复数,将其将入结果r...

yysue ⋅ 26分钟前 ⋅ 0

Confluence 6 从生产环境中恢复一个测试实例

请参考 Restoring a Test Instance from Production 页面中的内容获得更多完整的说明。 很多 Confluence 的管理员将会使用生产实例运行完整数据和服务的 Confluence 服务器,同时还会设置一个...

honeymose ⋅ 31分钟前 ⋅ 0

Python这么强?红包杀手、消息撤回也可以无视,手机App辅助!

论述 标题也许有点不好理解,其实就是一款利用Python实现的可以监控微信APP内的红包与消息撤回的助手。不得不说,这确实是一款大家钟意的神器。 消息撤回是一件很让人恶心的事,毕竟人都是有...

Python燕大侠 ⋅ 42分钟前 ⋅ 0

压缩打包介绍、gzip压缩工具、bzip2压缩工具、xz压缩工具

压缩打包介绍 压缩的好处不仅能节省磁盘空间而且在传输的时候节省传输时间和网络带宽 windows系统下文件带有 .rar .zip .7z 后缀的就是压缩文件 linux系统下则是 .zip, .gz, .bz2, .xz, ...

黄昏残影 ⋅ 47分钟前 ⋅ 0

观察者模式

1.利用java原生类进行操作 package observer;import java.util.Observable;import java.util.Observer;/** * @author shadow * @Date 2016年8月12日下午7:29:31 * @Fun 观察目标 **/......

Cobbage ⋅ 50分钟前 ⋅ 0

Ubuntu打印服务器配置

参考:https://blog.csdn.net/gsls200808/article/details/50950586 https://blog.csdn.net/jiay2/article/details/80252369 https://wiki.gentoo.org/wiki/HPLIP 由于媳妇儿要大量打印资料,......

大熊猫 ⋅ 55分钟前 ⋅ 0

面试的角度诠释Java工程师(二)

原文出处: locality 续言: 相信每一位简书的作者,都会有我这样的思考:怎么写好一篇文章?或者怎么写好一篇技术类的文章?我就先说说我的感悟吧,写文章其实和写程序是一样的。为什么我会...

颖伙虫 ⋅ 58分钟前 ⋅ 0

github中SSH的Key

https://help.github.com/articles/connecting-to-github-with-ssh/ https://help.github.com/articles/testing-your-ssh-connection/ https://help.github.com/articles/adding-a-new-ssh-k......

whoisliang ⋅ 59分钟前 ⋅ 0

only_full_group_by

我的mysql是在CentOS7.1下面的5.7.17 在 /etc/my.cnf 文件里加上如下: sql_mode='NO_ENGINE_SUBSTITUTION' 然后,重启Mysql服务 systemctl restart mysqld...

SunHacker ⋅ 今天 ⋅ 0

实际项目(SpringBoot项目)中集成Druid

参考网页 https://blog.csdn.net/liuchuanhong1/article/details/55050131 https://blog.csdn.net/CoffeeAndIce/article/details/78707819 https://www.pocketdigi.com/20170530/1577.html 为......

karma123 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部