20、Linux 实战:压缩和打包

压缩/打包

压缩:通过压缩算法将一个大的文件变成一个小的文件

1)压缩比:压缩后文件的大小和压缩前文件占用的大小的比值

2)打包:将很多文档打包成为一个文件

3)为了利于理解压缩/打包文档都有对应的后缀名

后缀名 含义
.Z compress程序压缩的文档
.zip zip程序压缩的文档
.gz gzip程序压缩的文档
.bz2 bzip2程序压缩的文档
.xz xz程序压缩的文档
.tar tar程序打包的文档,并没有压缩过
.tar.gz tar程序打包的文档,并且经过gzip的压缩
.tar.bz2 tar程序打包的文档,并且经过bzip2的压缩
.tar.xz tar程序打包的文档,并且经过xz的压缩

压缩

gzip命令:使用gzip程序压缩文档

指令格式1:gzip 选项 文档路径 //压缩指定文档

选项 含义
-f 强制压缩文档
-r 递归压缩文档
-t 检验压缩文档
-v 压缩文件时显示压缩详细信息
-c 将压缩的文件数据同时输出到屏幕上
-N 指定压缩等级 N为1~9之间的数字,默认为-6 -1最快但压缩比最差,-9最慢但压缩比最好

2)zcat/zmore/zless使用对应于cat/more/less命令读取纯文本文件的方式来读取被压缩后的压缩文件(egrep对应于grep命令在文件中查找数据)

//gzip压缩的文档可在Windows系统中被解压缩

指令格式2:gzip -d 文档路径 //解压指定文件

1)文件别解压后,压缩文件会被删除

bzip2命令:使用bizp2程序压缩文档

指令格式1:bzip2 选项 文档路径

选项 含义
-z 强制压缩文档
-t 检验压缩文档
-k 压缩后保留源文件
-v 压缩文件时显示压缩详细信息
-c 将压缩的文件数据同时输出到屏幕上
-N 指定压缩等级 N为1~9之间的数字,默认为-6 -1最快但压缩比最差,-9最慢但压缩比最后

指令格式2:bzip2 -d 文档路径 //解压指定文件

//文件别解压后,压缩文件会被删除

xz命令:使用xz程序压缩文档

指令格式:xz 选项 文档路径

选项 含义
-t 检验压缩文档
-k 压缩后保留源文件
-v 压缩文件时显示压缩详细信息
-c 将压缩的文件数据同时输出到屏幕上
-l 显示压缩文件的详细信息
-N 指定压缩等级 N为1~9之间的数字,默认为-6 -1最快但压缩比最差,-9最慢但压缩比最后

//文件别解压后,压缩文件会被删除

压缩时间:xz>bzip2>gzip

压缩效率:xz>bzip2>gzip

打包

tarfile:仅使用tar对文档打包

tarball:使用tar对文档打包同时也进行压缩

tar命令:将1个或多个文档打包成一个文件

指令格式1:tar 选项 -f 待建立打包文件名 文件名 //打包压缩文件

选项 含义
-f 指定后续待处理的压缩/解压文件路径 (由于该选项比较特殊,所以需将-f单独写出)
-c 建立打包文件
-z 通过gzip程序压缩/解压
-j 通过bzip程序压缩/解压
-J 通过xz程序压缩/解压
-v 在压缩过程中显示执行过程
-p 保留打包文档原本权限与属性 且在保留文档路径时不包含根目录“/”
-P 使用绝对路径的方式记录打包文档的原路径
--exclude=File 压缩过程中不包含File
--newer=“2021/04/09” 仅打包2021/04/09后的新文件

2)“新文件”通过mtime和ctime判断

指令格式2:tar 选项 -f 打包文件路径 //解压/查看压缩文件

选项 含义
-t 列出打包文件中所含文档的文档名
-v 同时列出文档的权限/属性等参数
-x 解包/解压缩
-C 将文件解压后放置到指定目录

解压打包文件中的指定文件:tar -jxv -f 打包文件路径 指定文件路径

镜像

mkisofs命令(make iso file system) :将指定数据备份成镜像文件

指令格式:mkisofs 选项 待备份数据

选项 含义
-o 指定生成的镜像文件路径
-v 显示创建镜像文件过程
-m 指定不会备份的文档
-r 通过Rock Ridge记录更多文件信息
-graft-point 实现镜像文件中目录的功能

2)光盘格式一般为iso9660,仅支持旧版的DOS文件名(文件名8,扩展名3)

3)-r选项可使文件名记录更多信息(如:UID/GID和权限等)

4)-graft-point选项:等号左边是在镜像文件内的目录,右侧是实际数据

//默认情况下,所有被备份数据都默认放置到镜像文件中的根目录,就会导致两个不同目录下的同名文档不能备份到同一镜像文件下,而-graft-point选项就可实现通过目录实现分层保存解决同名问题