在Linux中可以识别的常见压缩格式有十几种,比如".zip"、".gz"、".bz2"、".tar"等。对于Linux系统来讲是没有拓展名这一说的,Linux系统不需要靠拓展名来识别文件是那种格式,拓展名的设置是为了用户能够正确的认识文件。
".zip"格式
“.zip"是Windows中最常见的压缩格式,Linux也可以正确识别”.zip"格式,这可以方便地和Windows系统通用压缩文件。 centos 8没有zip,可以通过"dnf install zip"安装。
- 压缩
命令:zip
作用:压缩文件或目录
命令格式:zip [选项] 压缩包名 要压缩的文件
常用选项:-r 压缩目录
例:
[root@ddkk.com ~]# zip test.zip abc bcd 将文件abc、bcd压缩成test.zip文件
- 解压缩
命令:unzip
作用:解压zip文件
命令格式:unzip [选项] 压缩包
选项: [-d 目录] 指定解压位置
例:
[root@ddkk.com ~]# unzip -d a test.zip 将test.zip文件解压到a目录下
Archive: test.zip
inflating: a/abc
extracting: a/bcd
".gz"格式
".gz"格式压缩文件是Linux最常用的一种压缩文件。
gzip命令
作用:压缩和解压缩".gz"格式压缩文件。
命令格式:gzip [选项] 源文件
常用选项:
- -c:将压缩数据输出到标准输出中,可以用于保留源文件。
- -d:解压缩。
- -r:压缩目录中的文件,gzip无法打包,只能将目录中的子文件逐个压缩。
例:
[root@ddkk.com ~]# ls
a abc anaconda-ks.cfg bcd test.zip
[root@ddkk.com ~]# gzip abc 压缩abc
[root@ddkk.com ~]# ls
a abc.gz anaconda-ks.cfg bcd test.zip abc.gz生成,abc删除
gzip命令无法保存源文件,要保存源文件的话,可以利用选项-c:
[root@ddkk.com ~]# ls 查看当前目录中的文件
a abc anaconda-ks.cfg bcd test.zip
[root@ddkk.com ~]# gzip -c abc >> abc.gz 将压缩文件的数据存入abc.gz中,源文件保留
[root@ddkk.com ~]# ls
a abc abc.gz anaconda-ks.cfg bcd test.zip
gunzip命令
作用:解压".gz"格式文件
命令格式:gunzip 压缩文件
".bz2"格式
“.bz2"格式压缩文件是Linux另一种压缩格式,从理论上来说,”.bz2"格式算法更加先进,压缩比更好,而".gz"格式相对来讲压缩的时间更快。".bz2"格式无法压缩目录。
bzip2命令
作用:压缩和解压"bz2"格式压缩文件。
命令格式:bzip2 [选项] 源文件
常用选项:
- -d:解压缩。
- -k:压缩时,保留源文件。
- -v:显示压缩的详细信息。
bunzip2
作用:解压缩".bz2"格式压缩文件。
命令格式:bunzip2 压缩文件。
".tar"格式
tar命令
作用:打包与解打包。
命令格式:tar [选项] [-f 压缩包名] 源文件或目录
常用选项:
选项 | 作用 |
---|---|
-c | 打包 |
-f | 指定压缩包的文件名,打包时一定要写对拓展名,拓展名是给用户看的,若没有拓展名,忘记是什么文件,就无法正确解压文件了。 |
-v | 显示打包或解打包过程。 |
-x | 解打包。 |
-t | 查看包中有哪些文件。 |
-C | 指定解包目录。 |
例:打包
[root@ddkk.com ~]# tar -cvf a.tar a/ 将a目录打包成a.tar
例:解包
[root@ddkk.com ~]# tar -xvf a.tar -C b 将a.tar解包到目录b中
......
“.tar.gz"格式和”.tar.bz2"格式
tar命令
tar命令同样可以用于".tar.gz"格式和".tar.bz2"格式,使用下面的选项。
选项含义:
- -z:压缩和解压缩".tar.gz"格式
- -j:压缩和解压缩".tar.bz2"格式
常用选项 - -zcvf:将文件压缩成".tar.gz"格式
- -zxvf:将".tar.gz"文件解压
- -jcvf:将文件压缩成".tar.bz2"格式
- -jxvf:将".tar.bz2"格式解压
例:".tar.gz"格式
[root@ddkk.com ~]# tar -zcvf test.tar.gz a/ abc abc.gz 将文件abc、abc.gz以及目录a/压缩成test.tar.gz
......
[root@ddkk.com ~]# tar -zxvf test.tar.gz -C b/ 将文件test.tar.gz解压到b目录
......
例:".tar.bz2"格式
[root@ddkk.com b]# tar -jcvf test.tar.bz2 a/ abc abc.gz j将文件abc、abc.gz以及目录a/压缩成test.tar.bz2
......
[root@ddkk.com ~]# tar -jxvf b/test.tar.bz2 -C ~/ 将文件test.tar.bz2解压到家目录
......
在Linux中,压缩和打包是不同的操作,".gz"、".bz2"格式是压缩格式,".tar"打包格式。在使用中,".tar.gz"和".tar.bz2"格式更为常用一些。