Linux 压缩包管理、解压、压缩归档,压缩原理。


压缩打包


格式 压缩工具
.zip zip压缩工具
.gz gzip压缩工具,只能压缩文件,会删除源文件(通常配合tar使用)
.bz2 bzip2压缩工具,只能压缩文件,会删除源文件(通常配合tar使用)
.tar.gz 先使用tar命令归档打包,然后使用gzip压缩
.tar.bz2 先使用tar命令归档打包,然后使用bzip压缩


gzip


yum -y install gzip
Usage: gzip [OPTION]... [FILE]...
gzip  文件名压缩。
gzip
-d 解压
# 特点
1、只能压缩文件,不能压缩目录
2、压缩之后源文件会消失
3、解压文件之后压缩包会消失
4、多个文件gzip会单个的打包文件,压缩比率大
5、使用zcat 可以直接查看文件内容
6、打包的文件在哪个路径下,就把包放在源文件所在的目录中
[[email protected] tmp]# gzip test.txt 创建压缩文件
[[email protected] tmp]# gzip -d test.txt.gz  解压缩
[[email protected] tmp]# zcat test.txt.gz 查看文件


zip


zip [-options] [filename] [zipfile list]
zip 行李箱 衣服
-r 打包目录
-q 打包的过程不显示输出
1、zip压缩文件,源文件不会消失。
2、zip解压后,如果目录下存在和压缩包内相同的文件名,则询问是否覆盖
3、zip压缩目录,什么参数都不加的情况下,只能打包空目录,如果想打包目录要加 -r
4、如果打包的是绝对路径会把绝对路径的内容都打包进去,并且删除/,打包在哪个目录下执行就会打包在哪个目录下。
# 注:zip压缩删根是为了防覆盖。
file 文件名  # 查看文件类型
[[email protected] tmp]# zip test.zip test.txt 压缩包
[[email protected] tmp]# unzip test.zip  解压
[[email protected] tmp]# zip -r etc.zip /etc 打包目录


tar


# 归档工具
Usage: tar [OPTION...] [FILE]...
tar的选项不需要加 - 
-c 创建新的归档文件
-x 解压归档文件
-f 指定包的文件名,如果是多个选项,f一点要放在最后
-v 显示过程
-z 归档之后使用gzip压缩
-P 对绝对路径的操作不删除根目录
-t 查看压缩包中的压缩项目
-C 指定解压缩路径
-j bzip2
-J xz
-h 打包软链接
-X 指定排除的目录或文件,将排除的文件或目录写到文件中
--exclude=123 排除123指定的文件或者目录
# 注意:解压的时候会覆盖文件
[[email protected] tmp]# tar -czvf etc.tar.gz /etc 创建tar.gz的包
[[email protected] tmp]# tar -xzvf etc.tar.gz 解压创建tar.gz的包
[[email protected] opt]# tar -xzvf etc.tar.gz -C /opt 指定解压目录
[[email protected] tmp]# tar -czvPf etc1.tar.gz /etc 打包绝对路径
[[email protected] tmp]# tar -tf log.var.gz 查看压缩文件里面的项目
[[email protected] tmp]# tar -cjf log.tar.bz2 /var/log/ 压缩tar.bz2
[[email protected] tmp]# tar -xf log.tar.bz2 解压tar.bz2
[[email protected] tmp]# tar -cJf log.tar.xz /var/log/ 压缩tar.xz
[[email protected] tmp]# tar -xf log.tar.xz 解压
[[email protected] tmp]# tar -czvf gd.tar.gz * --exclude=services 排除文件
[[email protected] tmp]# tar -czvf gd.tar.gz * --exclude=services --exclude=hosts
[[email protected] tmp]# tar -czvf gd.tar.gz -X /mnt/exc_list  * 指定排除文件