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、打包的文件在哪个路径下,就把包放在源文件所在的目录中

[root@oldboy tmp]# gzip test.txt		创建压缩文件
[root@oldboy tmp]# gzip -d test.txt.gz 			解压缩
[root@oldboy tmp]# zcat test.txt.gz				查看文件

zip


zip [-options] [filename] [zipfile list]

zip 行李箱 衣服
-r		打包目录
-q		打包的过程不显示输出

1、zip压缩文件,源文件不会消失。
2、zip解压后,如果目录下存在和压缩包内相同的文件名,则询问是否覆盖
3、zip压缩目录,什么参数都不加的情况下,只能打包空目录,如果想打包目录要加 -r
4、如果打包的是绝对路径会把绝对路径的内容都打包进去,并且删除/,打包在哪个目录下执行就会打包在哪个目录下。

# 注:zip压缩删根是为了防覆盖。

file 文件名  # 查看文件类型
[root@oldboy tmp]# zip test.zip test.txt		压缩包
[root@oldboy tmp]# unzip test.zip 				解压
[root@oldboy 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指定的文件或者目录

# 注意:解压的时候会覆盖文件

[root@oldboy tmp]# tar -czvf etc.tar.gz /etc			创建tar.gz的包
[root@oldboy tmp]# tar -xzvf etc.tar.gz					解压创建tar.gz的包
[root@oldboy opt]# tar -xzvf etc.tar.gz -C /opt			指定解压目录
[root@oldboy tmp]# tar -czvPf etc1.tar.gz /etc			打包绝对路径
[root@oldboy tmp]# tar -tf log.var.gz					查看压缩文件里面的项目
[root@oldboy tmp]# tar -cjf log.tar.bz2 /var/log/		压缩tar.bz2
[root@oldboy tmp]# tar -xf log.tar.bz2					解压tar.bz2
[root@oldboy tmp]# tar -cJf log.tar.xz /var/log/			压缩tar.xz
[root@oldboy tmp]# tar -xf log.tar.xz						解压
[root@oldboy tmp]# tar -czvf gd.tar.gz * --exclude=services		排除文件
[root@oldboy tmp]# tar -czvf gd.tar.gz * --exclude=services --exclude=hosts
[root@oldboy tmp]# tar -czvf gd.tar.gz -X /mnt/exc_list  *		指定排除文件

原文地址:https://www.cnblogs.com/gshelldon/p/13275595.html