Linux学习-鸟哥-第八章-文件与文件系统的压缩

一、 Linux系统常见的压缩命令

Linux系统常见的压缩文件扩展名:

  `*.Z`		`compress`程序压缩的文件
  `*.zip`	`zip`程序压缩的文件
  `*.gz`	`gzip`程序压缩的文件
  `.bz2`	`bzip2`程序压缩的文件
  `.xz`		`xz`程序压缩的文件
  `*.tar`	`tar`程序打包的文件,并且没有被压缩过
  `.tar.gz`	`tar`程序打包的文件,并且经过`gzip2`的压缩
  `.tar.bz2``tar`程序打包的文件,并且经过`bzip2`的压缩
  `.tar.xz`	`tar`程序打包的文件,并且经过`xz`的压缩

Linux上最常见的压缩命令是gzipbzip以及最新的xz,其他则已经不流行了。
tar可以将很多文件打包为一个文件,但是并不具备压缩功能。在GUN计划中,将整个tar与压缩的功能结合在一起,从而为用户提供强大的压缩与打包功能。
下面就对这些基本的压缩命令进行介绍

1.gzipzcatzmorezlesszgrep

gzip建立的压缩文件为*.gz,下面来看一下这个命令的用法

  gzip [-cdtv] 文件名
  zcat 文件名.gz
#选项与参数
  -c:将压缩的数据输出到屏幕上,可通过数据流重定向来处理
  -d:解压缩的参数
  -t:可以用来检验一个压缩文件的一致性,看看文件是否有误
  -v:可以显示出原文件/压缩文件的压缩比等信息
  -#:#为数字的意思,-1最快,-9最慢,但是压缩比最好,默认是-6

示例1:找出/etc下面(不含子目录)容量最大的文件,并将它复制到/tmp,然后以gzip压缩
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mBKuiQ2L-1586345579555)(C:\Users\lee\AppData\Roaming\Typora\typora-user-images\1586260798861.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iLiEIxOy-1586345579557)(C:\Users\lee\AppData\Roaming\Typora\typora-user-images\1586261384080.png)]
当使用gzip进行压缩时,在默认状态下原本的文件会被压缩为.gz后缀 ,源文件就不复存在了。
示例2:由于services是文本文件,可以将前面的压缩文件内容读取出来

  #`zcat`,`zmore`,`zless`可以读取文本文件
  zcat services.gz

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VGTq2yIM-1586345579558)(C:\Users\lee\AppData\Roaming\Typora\typora-user-images\1586309435582.png)]

2.bzip2bzcatbzmorebzlessbzgrep

bzip2的用法与gzip相同,只是扩展名由.gz变为了.bz2,可以提供最佳的压缩比

3.xzxzcatxzmorexzlessxzgrep

xz压缩比更高

`xz` 	[-dtlkc#] 文件名
`xcat`	文件名.xz
#选项与参数
-d	解压缩
-t	测试压缩文件的完整性
-l	列出压缩文件的相关信息
-k	保留原本的文件不删除
-c	将数据在屏幕上输出
-#	压缩比参数
xz -l services.xz #列出压缩前后的容量
xz -d services.xz #解压缩
xz -k services #保留原文件的文件名,并进一步压缩文件

备注 :刚开始使用xz命令时,发现没有安装此命令,故又安装了一次,系统是不自带xz命令的

二、打包命令:tar

tar可以将Linux系统中多个目录或文件打包为一个大文件。还可以通过gzipbzip2xz的支持,将文件同时进行压缩。

  tar [-z|-j|-J] [cv] [-f 待建立的新文件名] filename...  <==打包与压缩
  tar [-z|-j|-J] [tv] [-f 既有的tar文件名]			  <===查看文件名
  tar [-z|-j|-J] [xv] [-f 既有的tar文件名] [-C 目录]	 <===解压缩
  #选项与参数
  -c: 建立打包文件,可以搭配-v来查看打包过程中的文件名(filename)
  -t: 查看打包文件的内容包含哪些文件,重点在查看[文件名]
  -x: 解包或解压缩的功能,可以搭配-C(大写)在特定目录解压
  -z: 通过`gzip`的支持进行压缩/解压缩,此文件名最好为*.tar.gz
  -j: 通过`bzip`的支持进行压缩/解压缩,此文件名最好为*.tar.bz2
  -J: 通过`xz`的支持进行压缩/解压缩,此时文件名最好为*.tar.xz。
  
  -v:在压缩/解压缩的过程中,将正在处理的文件名显示处理
  -f filename:-f 后面要立刻接要被处理的文件名
  -C 目录:在特定目录解压,需要这个参数

最简单的使用tar

  压缩:tar -jcv -f filename.tar.bz2 [需要被压缩的文件或目录] 
  查询:tar -jtv -f filename.tar.bz2 
  解压:tar -jxv -f filename.tar.bz2 -C [需要解压的目录]

下面来测试几个常用的tar方法

  • 使用tar加入-z、-j、-J参数备份/etc目录
time tar -jpcv -f /root/etc.tar.bz2 /etc
time tar -jpcv -f /root/etc.tar.bz2 /etc
time tar -Jpcv -f /root/etc.tar.xz /etc

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6QosxuqE-1586345579558)(C:\Users\lee\AppData\Roaming\Typora\typora-user-images\1586325048104.png)]

三、XFS文件系统的备份与还原

暂时没有学习

1.XFS文件系统备份 xfsdump

2.xfs文件系统还原xfsrestore

四、光盘写入工具

暂时没有学习

五、其他常见的压缩与备份工具

暂时没有学习

六、重点回顾

  • 压缩的好处就是可以减少磁盘容量的浪费,在网站也可以利用文件压缩的技术来进行数据的传送,从而提高网站带宽的利用率
  • 压缩文件的扩展名大多是:*.gz*.bz2*.xz*.tar*.tar.gz*.tar.bz2*.tar.xz
  • tar可以用来进行文件打包,并且可以支持gzipbzipxz的压缩
  • 压缩:tar -Jcv -f filename.tar.xz 要被压缩的文件或目录的名称
  • 查询:tar -Jtv -f filename.tar.xz
    并且可以支持gzipbzipxz的压缩
  • 压缩:tar -Jcv -f filename.tar.xz 要被压缩的文件或目录的名称
  • 查询:tar -Jtv -f filename.tar.xz
  • 解压缩:tar -Jxv -f filename.tar.xz -C 需要解压缩的目录
发布了33 篇原创文章 · 获赞 4 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/leaeason/article/details/105395222