1.什么是文件压缩?
将多个文件与目录合并成一个特殊的文件。
2.为什么要进行文件压缩?
压缩后文件体积会比压缩前变小
多个文件传输很慢,单个文件传输很快。
3.windows压缩包是否户Linux文件的压缩包互通
windows常用的压缩格式是rar,zip,但在Linux上最常用的压缩格式是ara和tar.gz,linux上的格式在Windows上都是可以正常打开的,但Linux不支持windows下的rar格式,所以在Windows与Linux之间通常选择zip格式。
3.Linux下压缩包有哪些常见类型?
格式 | 压缩工具 |
---|---|
.zip | zip压缩工具 |
.gz | gzip压缩工具,只能压缩文件,会删除源文件(通常配合tar使用) |
.bz2 | bzip2压缩工具,只能压缩文件,会删除原文件(通常配合tar使用) |
tar.gz | 先使用tar命令归档打包,然后使用gzip压缩 |
tar.bz2 | 先使用tar命令归档打包,然后使用bzip压缩 |
1.gzip压缩打包
[root@oldboy ~]# gzip 1.txt 对文件进行压缩
[root@oldboy ~]# zcat 1.txt.gz 查看被gz压缩后的文件
[root@oldboy ~]# gzip -d 1.txt.gz 解压gzip的压缩包
当需要某个文件不生效时
[root@xuliangwei ~]# gzip CentOS-Vault.repo --> CentOS-Vault.repo.gz
[root@xuliangwei ~]# zcat CentOS-Vault.repo.gz --> 查看不想解压的压缩包文件内容
2.zip压缩与打包
1.压缩文件为zip包
[root@oldboy ~]# zip user.sh.zip user.sh
2.压缩目录为zip包
[root@oldboy ~]# zip -r file1.zip file1
3.解压zip文件包默认至当前目录
[root@oldboy ~]# unzip file1.zip
4.解压zip文件内容至指定位置
[root@oldboy ~]# unzip user.sh.zip -d /boy/
5.查看压缩文件是否完整
[root@oldboy ~]# zip -T file1.zip
6.不解压查看压缩文件
[root@xuliangwei ~]# unzip -l filename.zip
检测文件是 否都ok
[root@xuliangwei ~]# unzip -t filename.zip
3.tar打包与压缩
语法:tar [-zjxcvfpP] filename
c #创建新的归档文件
x #对归档文件解包
t #列出归档文件里的文件列表
v #输出命令的归档或解包的过程
f #指定包文件名,多参数f写最后
z #使用gzip压缩归档后的文件(.tar.gz)
j #使用bzip2压缩归档后的文件(.tar.bz2)
J #使用xz压缩归档后的文件(tar.xz)
C #指定解压目录位置
X #排除多个文件(写入需要排除的文件名称)
h #打包软链接
--hard-dereference 打包硬链接
--exclude #在打包的时候写入需要排除文件或目录
#常用打包与压缩组合
czf 打包tar.gz格式
cjf 打包tar.bz格式
cJf 打包tar.xz格式
zxf 解压tar.gz格式
jxf 解压tar.bz格式
xf 自动选择解压模式
tf 查看压缩包内
将文件或目录进行打包
1.以gzip归档方式打包并压缩
[root@oldboy ~] tar czf ectioo.tar.gz boy/
2.以bz2的方式压缩
[root@oldboy ~] tar cjf bata.tar.bz2 boy/
打包链接文件,打包链接文件的真实文件
[root@oldboy ~] cd /
[root@oldboy ~] tar czfh local.tar.gz etc/rc.local
打包/tmp下所有文件
[root@oldboy ~]cd /
[root@oldboy /]find tmp/ -type f | xargs tar czf tmp.tar.gz
打包/tmp下所有文件
[root@oldboy /] tar czf tmp.tar.gz $(find /tmp/ -type f)
排除文件,并压缩打包
tar czf etc.tar.gz /etc/ --exclude=etc/services 排除一个
tar czf etc.tar.gz /etc/ --exclude=etc/passwd -exclude=etc/shadow 排除多个
将需要排除的文件写入文件中
[root@oldboyedu opt]# cat pc.txt
etc/gshadow
etc/gshadow
etc/passwd
etc/passwd
etc/shadow
etc/shadow
etc/security/opasswd
etc/pam.d/passwd
[root@oldboyedu opt]# tar czXf pc.txt etc.tar.gz /etc/
查看解压压缩文件
[root@oldboy ~]tar tf ectioo.tar.gz
解压缩文件
[root@oldboy ~]tar xf ectioo.tar.gz 解压至当前目录
将解压文件至指定目录
[root@oldboy ~]tar xf ectioo.tar.gz -c /boy