一、为什么要压缩?
1. 为了节省更多的磁盘空间,降低磁盘的使用率
2. 利于网络文件的传输,减少带宽的压力
二、著名的压缩工具
1. compress/uncompress
文件后缀:
.z
2. gzip/gunzip
文件后缀:
.gz
3. bzip2/bunzip2
文件后缀:
.bz2
4. xz/unxz
文件后缀:
.xz
5. lzma/unlzma
文件后缀:
.lzma
即能归档又能压缩的工具
zip/unzip
zip是windows,linux,unix比较通用的压缩、解压工具,支持性比较好
只能归档的工具
tar 工具
一般用于备份文件
cpio 工具
一般用于内核文件的归档
三、gzip命令
gzip
- gzip, gunzip, zcat - compress or expand files
synopsis: gzip [option]…FILE
[options]
gzip -c message > /tmp/message.gz
: 即能保留原文件,又可以创建压缩文件-d
: 解压缩,相当于使用gunzip-#
: 指定压缩比,默认是6,范围为1-9-c
: 保留原文件,只会把压缩后的文件输出至屏幕zcat FILE
: 可以不解压文件即可查看压缩文件中的内容gzip FILE
: 解压文件
四、bzip2命令
bzip2
- bzip2/bunzip2/bzcat/bzip2recover
synopsis: bzip2 [option]...FILE
[options]
-d
: 解压缩,相当于使用bunzip2-#
: 指定压缩比,默认是6,范围为1-9-k
: 保留原文件
bzcat
: 不用解压缩文件即可以查看文件内容
五、xz命令
xz
- xz, unxz, xzcat, lzma, unlzma, lzcat - Compress or decompress .xz and .lzma files
`synopsis : xz [option]…file
[options]
-d
: 解压缩文件-#
: 指定压缩比,默认是6,数值越大,压缩比越大(1-9)-k
: 保留原文件
xzcat
: 不用解压文件,即可以查看其内容
以上三款压缩工作特性:
只能压缩文本文件,不能压缩目录
默认情况下,不论是压缩和解压文件,都会删除原文件,需要指定参数让其保留原文件
从压缩率相比 xz > bzip2 > gzip
如果需要压缩目录,需借用外部机制,如
tar
工具来实现
六、tar命令
tar的工作特性:
可以把多个文件打包成一个文件;
归档和解开归档都不删除原文件;
可以借用外部gzip ,bzip2,xz压缩机制,压缩归档文件
tar
- Gun tar
sinopsis : tar [option]… FILE | drectory…..
tar -Jcf /tmp/mylog.tar.xz *.log : 调用xz压缩并创建归档文件
tar -jcf /tmp/mylog.tar.bz2 *.log : 调用bzip2压缩并创建归档文件
tar -zcf /tmp/mylog.tar.gz *.log : 调用gzip压缩并创建归档文件mylog.tar.gz
-tf /tmp/mylog.tar : 查看归档文件中的列表
-xf /tmp/mylog.tar -C /root/ : 展开并保存至root目录下
-xf /tmp/mylog.tar :展开mylog.tar文件至当前目录
-cf /tmp/mylog.tar *.log : 归档当前目录下所有以log结尾的文件,保存至/tmp/mylog.tar文件中
-c
: 创建归档-f
: 指定文件路径,f
必须在c
参数后面,并且后面跟归档文件的路径,与创建和解开指定文件所使用-x
: 展开归档文件-C /PATH/TO/SOMEWHERE
: 展开归档,并且指明路径-t
: 不展开归档查看里面的文件列表-z
: 调用gzip的工具压缩归档文件-j
: 调用bzip2的工具压缩归档文件-J
: 调用xz的工具压缩归档文件