压缩、解压
一、压缩格式
市面上有非常多的压缩格式:
- zip格式:Linux、Windows、MacOS常用
- 7zip:Windows系统常用
- rar:Windows系统常用
- tar:Linux、MacOS常用
- gzip:Linux、MacOS常用
我们这里学习Linux的三种常用压缩格式:tar、gzip、zip
二、tar、gzip格式
1.理解
.tar
,称之为tarball,归档文件,即将文件组装到一个.tar的文件内,简单的封装
.gz
(.tar.gz),gzip格式压缩文件,即使用gzip压缩算法将文件压缩到一个文件内,可以极大的减少体积
2.语法
tar [-c -v -x -f -z -C] 参数1 参数2 …… 参数n
`参数1 参数2 …… 参数n`:用于压缩时选择要压缩的文件
`-c`,创建压缩文件,用于压缩模式
`-v`,显示压缩、解压过程,用于查看进度
`-x`,解压模式
`-f`,要创建的文件,或要解压的文件,-f选项必须在所有选项中位置处于最后一个
`-z`,gzip模式,不使用-z就是普通的tarball格式
`-C`,选择解压的目的地,用于解压模式
3.压缩常用组合
Ⅰ.压缩成.tar
tar -cvf 最后要压缩成的文件名 要压缩的文件1 要压缩的文件2 …… 要压缩的文件n
tar -cvf test.tar test1.txt test2.txt test3.txt
:将test1.txt test2.txt test3.txt压缩到test.tar文件内
Ⅱ.压缩成.tar.gz
tar -zcvf 最后要压缩成的文件名 要压缩的文件1 要压缩的文件2 …… 要压缩的文件n
tar -zcvf test.tar.gz test1.txt test2.txt test3.txt
:将test1.txt test2.txt test3.txt 压缩到test.tar.gz文件内,使用gzip模式
注意:
-z
选项如果使用的话,一般处于选项位第一个-f
选项,必须在选项位最后一个,因为他要写参数
4.解压常用组合
Ⅰ.解压.tar
,解压到当前工作目录
tar -xvf 要解压的文件名
tar -xvf test.tar
:解压test.tar,将文件解压至当前目录
Ⅱ.解压.tar
,解压到指定目录
tar -xvf 要解压的文件名 -C 要解压到的路径
tar -xvf test.tar -C /home/linux2024
:解压test.tar,将文件解压至/home/linux2024目录
Ⅲ.解压.tar.gz
,解压到指定目录
tar -zxvf 要解压的文件名 -C 要解压到的路径
tar -zxvf test.tar -C /home/linux2024
:解压test.tar.gz,以Gzip模式将文件解压至/home/linux2024目录
注意:
-z
选项如果使用的话,一般处于选项位第一个-f
选项,必须在选项位最后一个,因为他要写参数-C
选项单独使用,和解压所需的其它参数分开,不然就和-f都要指定参数冲突了
三、zip格式
1.压缩
Ⅰ.语法
zip [-r] 参数1 参数2 …… 参数n
`-r`,被压缩的包含文件夹的时候,需要使用-r选项
`参数1 参数2 …… 参数n`,要压缩的文件
Ⅱ.实例
zip test.zip a.txt b.txt c.txt
:将a.txt b.txt c.txt 压缩到test.zip文件内
zip -r test.zip test a.txt
;test文件夹和a.txt文件,压缩到test.zip文件内
2.解压
Ⅰ.语法
unzip [-d] 参数
`-d`,指定解压路径,即解压到哪里去,功能和tar命令的-C选项相同
`参数`,要解压的文件
Ⅱ.实例
unzip test.zip
:将test.zip解压到当前目录
注意:如果解压到的目录有同名文件或文件夹,会直接覆盖掉
unzip test.zip -d /home/linux2024
:将test.zip解压到指定文件夹内(/home/linux2024)
这里解释一下为什么之前压缩的时候把test文件夹也压缩进去了,但是这里解压的时候没有,因为test文件夹是空的,所以当时压缩的时候压根就没压缩进去