一,什么是文件压缩
将多个文件或目录合为一个特殊的文件。
二,为什么要对文件进行压缩?
减小文件体积
增加传输效率
节省网络的带宽
三,windows的压缩包与Linux的压缩包能否互通
Windows:rar,zip 支持很多类型的压缩
Linux : zip,tar.gz....
Windows与Linux互通通常采用zip
四,Linux有哪些常见的压缩包类型
格式压缩工具
.zip必须会的压缩工具
.gz只能压缩文件,会删除原文件,配合tar使用
.bz2只能压缩文件,会删除原文件,配合tar使用
.tar.gz先使用tar命令归档打包,然后使用gzip压缩,必须会的
.tar.bz2先使用tar命令归档打包,然后使用bzip压缩,顺带会的
五,Linux gzip zip tar工具使用
1,gzip打包与压缩只对文件有效
gzip filename 打包
gzip -d filename.gz 解包
zcat filename.gz 查看包内文件内容
2,zip工具使用
压缩文件,zip filename.zip filename
查看压缩文件内容,unzip -l filename.zip
压缩目录, zip -r dir.zip dir/
查看压缩包是否完整,zip -T filename.zip
不解压查看压缩包中的内容,unzip -l filename.zip/unzip -t filename.zip
解压zip文件包,默认解压至当前目录,unzip filename.zip
解压zip内容至/opt/目录,unzip filename.zip -d /opt/
3,tar工具使用
tar是linux下最常用的压缩与解压缩, 支持文件和目录的压缩归档
#语法:tar [-zjxcvfpP] filename
c #创建新的归档文件
x #对归档文件解包
t #列出归档文件里的文件列表
v #输出命令的归档或解包的过程
f #指定包文件名,多参数f写最后
z #使用gzip压缩归档后的文件(.tar.gz)
j #使用bzip2压缩归档后的文件(.tar.bz2)
J #使用xz压缩归档后的文件(tar.xz)
C #指定解压目录位置
X #排除多个文件(写入需要排除的文件名称)
h #打包软链接
--exclude #在打包的时候写入需要排除文件或目录
#常用打包与压缩组合
czf #打包tar.gz格式
cjf #打包tar.bz格式
cJf #打包tar.xz格式
zxf #解压tar.gz格式
jxf #解压tar.bz格式
xf #自动选择解压模式
tf #查看压缩包内容
压缩:tar czf test.tar.gz test/ tset2/ 以gzip方式压缩
tar cjf test.tar.bz2 dir.txt dir/ 以bz2方式压缩
解压:tar xf test.tar.gz
tar xf test.tar.bz2
tar xf test.tar.xz
Tar xf root.tar.gz -C /tmp/ 解压至指定目录
查看包内内容: tar tf test.tar.gz
通过管道符打包文件
find tmp/ -type f | xargs tar czf tmp.tar.gz
打包/tmp下所有的文件
tar czf tmp.tar.gz $(find /tmp f)
打包链接文件
tar czfh local.tar.gz etc /rc.local
六,排除文件
1,排除单个文件
tar czf etc.tar.gz --exclude=etc/services
2,排除多个文件
tar czf etc.tar.gz --exclude=etc/services --exclude=etc/rc.locla
3,指定排除的文件列表,最后进行压缩
tar czfX etc.tar.gz paichu.list /etc/