linux 中有很多的压缩工具: gzip,zip,bizp2 最常见的压缩工具
-----------------------------
gzip : 即是压缩工具,又是压缩的命令
参数: -n ---- 压缩率,n需要替换为数字,取值1~9之间,默认是6;
压缩率越高,压缩的效果越好,压缩后的文件越小,使用的时间越长
-n 可以省略,默认是6
-v ---- 显示压缩率
-d ---- 解压缩
自动添加后缀名.gz
常见的压缩场景:
gzip 源文件 ==》 压缩为.gz 的压缩文件,源文件消失
gzip -c 源文件 > 压缩文件 ==》压缩为.gz的文件,源文件保留,压缩文件不会自动添加.gz后缀,需要手动添加
gzip -r 目录 ==》 压缩的是目录下的子文件,但是目录不压缩,子文件单独进行压缩,并且源文件不见了
[root@localhostTEST bbb]# gzip t02
[root@localhostTEST bbb]# ls
t02.gz
[root@localhostTEST home]# gzip -r -d bbb
[root@localhostTEST home]# ls bbb
bb t02
解压缩:
[root@localhostTEST test111]# gzip -d TT.gz
[root@localhostTEST test111]# ls
TT
gzip 的缺点:无法完成目录的压缩,即使使用参数-r ,也是压缩的是该目录下的子文件
[root@localhostTEST home]# gzip bbb
gzip: bbb is a directory -- ignored
特殊情况:一条gzip命令可以同时压缩或者解压缩多个文件,压缩后/解压缩后 各自都是独立分开的,不是压缩/解压缩到一个目录文件
[root@localhostTEST home]# gzip t01 t02 t03
[root@localhostTEST home]# ls
aaa bbb t01.gz t02.gz t03.gz test111
[root@localhostTEST home]# gzip -d t01.gz t02.gz t03.gz
[root@localhostTEST home]# ls
aaa bbb t01 t02 t03 test111
------------------------------------------------------------
zip : 即是压缩的工具,又是压缩的命令;既可以压缩文件,又可以压缩目录
语法: zip 压缩文件名 源文件 ---- 被用来压缩的文件就是源文件
zip -r 压缩文件名 源目录
zip 命令压缩文件名可以添加后缀.zip,也可以不添加,不加系统会自动添加.zip 后缀
[root@localhostTEST home]# zip t01 t02
adding: t02 (deflated 58%)
[root@localhostTEST home]# zip -r BBB bbb
adding: bbb/ (stored 0%)
adding: bbb/bb/ (stored 0%)
adding: bbb/t02 (deflated 58%)
adding: bbb/t03 (deflated 25%)
[root@localhostTEST home]# ls
解压缩:建议进入到解压缩包所在的目录 unzip 压缩包名
[root@localhostTEST home]# cd test111
[root@localhostTEST test111]# ls
BBB.zip TT
[root@localhostTEST test111]# unzip BBB.zip
Archive: BBB.zip
creating: bbb/
creating: bbb/bb/
inflating: bbb/t02
inflating: bbb/t03
[root@localhostTEST test111]# ls
--------------------------------------
bzip2 : 是一个无损压缩工具,将源文件压缩到 10%~15%,所以在Linux中比较受欢迎
bzip2 既是压缩工具,也是命令,同时还是解压缩命令
语法: bzip2 [-option] 文件名
参数: -z ---- 压缩,缺省参数(不加参数,默认就是进行压缩),源文件消失
-d ---- 解压缩
-k ---- 保留源文件
压缩后,会在压缩文件名后自动添加后缀.bz2
[root@localhostTEST test111]# bzip2 TT
[root@localhostTEST test111]# bzip2 -d TT.bz2
[root@localhostTEST test111]# ls
bbb BBB.zip TT
[root@localhostTEST test111]# bzip2 -k TT
[root@localhostTEST test111]# ls
bbb BBB.zip TT TT.bz2
[root@localhostTEST test111]# bzip2 -k bbb
bzip2: Input file bbb is a directory.