1.什么是文件压缩?
将多个文件或目录合并成为一个特殊文件
2.为什么要对文件进行压缩?
当我们在传输大文件或多文件时可以进行文件压缩
1.减少文件体积
2.加快资源的传输
3.节省网络的带宽
3.windows与linux压缩包能否互通?
- windows:rar、zip 支持较多类型压缩
- linux:zip、tar、tar.gz
linux与windows互通使用zip
4.linux常用压缩工具
格式 | 压缩工具 |
---|---|
.zip | zip压缩工具(必须要会使用的) |
.gz | gzip压缩工具,只能压缩文件,会删除源文件(通常配合tar使用) |
.bz2 | bzip2压缩工具,只能压缩文件,会删除原文件(通常配合tar使用) |
.tar.gz | 先使用tar命令打包,然后使用gzip压缩 |
.tar.bz2 | 先使用tar打包,然后使用bzip压缩 |
5.gzip zip tar工具的使用
- gzip
#打包
gzip filename
#解包
gzip -d filename.gz
#查看包文件内容
zcat filename.gz
#当需要让某个文件快速关闭和快速启用
gzip CentOS-Vault.repo --> CentOS-Vault.repo.gz
- zip
#文件打包
zip filename.zip filename
#解压文件至当前目录下
unzip filename.zip
#查看包内容
unzip -l filename.zip
#压缩目录
zip -r dir.zip dir/
#解压内容至指定目录/opt/下
unzip filename.zip -d /opt/
- tar
#语法:
c #创建新的归档文件
x #对归档文件解包
t #列出归档文件里的文件列表
f #指定包文件名,多参数f写最后
z #使用gzip压缩归档后的文件(.tar.gz)
j #使用bzip2压缩归档后的文件(.tar.bz2)
J #使用xz压缩归档后的文件(tar.xz)
C #指定解压目录位置
X #排除多个文件(写入需要排除的文件名称)
h #打包软链接
--exclude #在打包的时候写入需要排除文件或目录
#常用打包与压缩组合
-czf #打包tar.gz格式
-tf #查看压缩包内容
-xf #自动选择解压模式
#解压至指定目录
tar xf root.tar.gz -C /tmp/
#打包/tmp下所有文件
find tmp/ -type f | xargs tar czf tmp.tar.gz
tar czf tmp.tar.gz $(find /tmp/ -type f)
#打包链接文件,打包链接文件的真实文件
tar czfh local.tar.gz etc/rc.local
#4.排除操作
tar czf etc.tar.gz /etc/ --exclude=etc/services
tar czf etc.tar.gz /etc/ --exclude=etc/passwd -- exclude=etc/shadow
#5.将需要排除的文件写入文件中
#查看被排除的内容
cat pc.txt
>1.txt
>2.txt
# -X可以指定从文件中指定排除的内容 1.txt和2.txt将不会被打包进去
tar czXf pc.txt etc.tar.gz /etc/
案例1.mysql备份及恢复
#备份
tar cJf /backup/mysql.tar.xz /var/lib/mysql
#恢复
tar xf /backup/mysql.tar.xz -C /
网友评论