文档章节

Linux压缩那些事儿

linuxprobe16
 linuxprobe16
发布于 2016/11/20 10:08
字数 1323
阅读 63
收藏 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/

linuxprobe16
粉丝 15
博文 913
码字总数 246494
作品 0
河东
私信 提问
加载中
请先登录后再评论。
我的架构演化笔记 功能1: 基本的用户注册

“咚咚”,一阵急促的敲门声, 我从睡梦中惊醒,我靠,这才几点,谁这么早, 开门一看,原来我的小表弟放暑假了,来南京玩,顺便说跟我后面学习一个网站是怎么做出来的。 于是有了下面的一段...

强子哥哥
2014/05/31
976
3
Linux 反汇编工具--LDasm

LDasm (Linux 反汇编工具) 是一个基于 Perl/TK 的 objdump/binutils 图形化工具,试图模仿 W32Dasm 工具的外观。可搜索相互参照,将代码从 GAS 转换成 MASM 风格代码等等。...

匿名
2013/01/22
5.6K
1
基于 Debian 的 Linux 发行版--Kali Linux

Kali Linux(以前叫做 BackTrack)是一份基于 Debian 的发行,它带有一套安全和计算机取证工具。其特色在于及时的安全更新,对 ARM 架构的支持,有四种流行的桌面环境供选择,以及能平滑升级...

匿名
2013/03/14
3.5W
10
阿里云开放存储服务的C语言SDK--OSSC

OSSC(Aliyun Open Storage Service C SDK)为阿里云开放存储服务(OSS)提供了一套完整易用的C SDK。 OSSC完全采用C语言开发,并实现了类似面向对象的调用方式,遵循了良好的编码规范,目前O...

大卷卷
2012/10/22
4.6K
0
Linux 多屏幕管理软件--XRandR

XRandR是X Rotate and Reflect Extension(改变大小与旋转扩充)的缩写,用来在命令行界面中对linux系统中的 X窗口系统的多屏幕做出一些设定的软件,能更改外接屏幕的大小、分辨率等...

匿名
2012/10/22
3.1K
0

没有更多内容

加载失败,请刷新页面

加载更多

汇总一下 Intellij IDEA 常用的牛逼插件!

来源:blog.csdn.net/sunny243788557/java/article/details/106011723 1、日晒主题 Solarized Themes 2、idea上 类调用时序图 SequenceDiagram for IntelliJ IDEA 3、彩色括号 Rainbow Brac......

路人甲Java
昨天
16
0
StringBuider 在什么条件下、如何使用效率更高?

点击上方“方志朋”,选择“设为星标” 回复”666“获取新整理的面试文章 作者:后青春期的Keats cnblogs.com/keatsCoder/p/13212289.html 引言 都说 StringBuilder 在处理字符串拼接上效率要...

方志朋
昨天
7
0
预告|悬镜子芽:新一代灰盒安全测试技术实践分享

点击蓝字 关注我们 万物皆有法,方能有序运行。网络安全进化到内生安全时代,以框架为起点,规划全景,技术内生外长,不断叠加,形成新一代网络安全之道。2020北京网络安全大会(BCS2020)已...

悬镜
昨天
0
0
zoom免费用户无法在中国登陆,RHUB免费续航zoom

中美关系日趋紧张,许多产品强制要求用户站队,zoom已经做了选择,抛弃众多信任、认可zoom产品的用户。微软选择坚持为中国用户提供服务,谁又说得来明天会如何?我们如此泱泱大国,竟要受制于...

osc_gt7nq50v
23分钟前
19
0
kubernetes 安装笔记

ssh -p 9000 root@127.0.0.1 192.168.56.101 master-node 192.168.56.102 work-node1 192.168.56.103 work-node2 由于kubeadm 默认从官网k8s.grc.io下载所需镜像,国内无法访问,因此需要通过......

solate
24分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部