1、Linux下常见压缩包类型
格式 压缩工具
.zip zip压缩工具
.gz gzip压缩工具,只能压缩文件,会删除原文件(通常配合tar使用)
.bz2 bzip2压缩工具,只能压缩文件,会删除原文件(通常配合tar使用)
.tar.gz 先使用tar命令归档打包,然后使用gzip压缩
.tar.bz2 先使用tar命令归档打包,然后使用bzip压缩
2、gzip
2.1、安装软件
2.2、压缩文件
echo "123">file
]# gzip file
]# ll
-rw-r--r-- 1 root root 29 Apr 20 22:29 file.gz
# 这个会把原文件删除
2.3、解压文件
]# gzip -d file.gz
]# ll
-rw-r--r-- 1 root root 4 Apr 20 22:29 file
2.4、查询压缩文件内容
2.5、使用场景
主要:用户文件临时不想使用的时候,可以压缩起来,后面想使用再解压
cd /etc/yum.repos.d/
gzip zabbix.repo
zcat zabbix.repo.gz
3、zip
3.1、软件安装
3.1、压缩
3.1.1、压缩文件
3.1.2、压缩目录
3.2、解压
3.2.1、解压当前目录
3.2.2、解压指定的目录
3.3、校验完整性
]# zip -T etc.zip
test of etc.zip OK
3.4、查看压缩包内容
unzip -l etc.zip
unzip -t etc.zip
4、tar
4.1、参数介绍
4.1.1、语法介绍
语法:
tar [-zjxcvfpP] fiLenamec
c # 创建新的归档文件
x # 对归档文件解包
t # 列出归档文件里的文件列表
v # 输出命令的归档或解包的过程
f # 指定包文件名,多参数f写最后
z # 使用gzip压缩归档后的文件( .tar.gz)
j # 使用bzip2压缩归档后的文件( .tar.bz2)
J # 使用xz压缩归档后的文件(tar.xz)
C # 指定解压目录位置
X # 排除多个文件(写入需要排除的文件名称)
h # 打包软链接
--hard-dereference # 打包硬链接
--exclude # 在打包的时候写入需要排除文件或目录
4.1.2、常用打包与压缩组合
czf # 打包tar.gz格式
cjf # 打包tar.bz格式
cJf # 打包tar.xz格式
4.1.3、解压缩
zxf # 解压tar.gz格式
jxf # 解压tar.bz格式
xf # 自动选择解压模式
tf # 查看压缩包内容
4.2、示例1-打包压缩
4.2.1、打包压缩文件
tar czf test.tar.gz ethertypes
tar cjf test.tar.bz2 ethertypes
4.2.2、打包压缩目录
以gzip归档方式打包并压缩
tar czf test.tar.gz test1/ test2/
以bz2归档方式打包并压缩
yum install bzip2 -y
tar cjf test.tar.bz2 test1/ test2/
4.2.3、打包链接的文件
]# tar czfh local.tar.gz /etc/rc.local
tar: Removing leading `/' from member names # 自动移除开头的/
]# tar tf local.tar.gz
etc/rc.local
4.2.4、tar与find-打包tmp目录所有的文件
tar czf tmp.tar.gz $(find /tmp -type f)
4.3、示例2-排除文件打包压缩
4.3.1、排除单个文件压缩
tar czf test.tar.gz --exclude=test/cron.d test/
4.3.2、排除多个文件压缩
tar czf test.tar.gz --exclude=test/cron.d --exclude=test/grub.d test/
4.3.3、通过文本数据排除文件压缩
]# cat exclude.list
test/grub.d
test/cron.d
tar czfX test.tar.gz exclude.list test/
4.4、示例3-查询压缩包内容
4.5、示例4-解压文件
4.5.1、解压当前目录
4.5.2、解压指定目录
tar xvf test.tar.gz -C /mnt