gzip命令:文件的压缩
gzip属于GNU软件,是linux系统首选的压缩工具,tar归档命令的-z选项压缩也是利用gzip/gunzip来压缩/解压文件。
gzip生成.gz文件
语法:
gzip [选项] [文件或目录…]
参数:
-c 或–stdout或 –to-stdout 将压缩(解压)的内容输出到标准输出设备上,并保留原有文件
-d 或–decompress 解压
-l 或–list 如果目标文件是压缩文件,则显示压缩大小,解压后大小,压缩比率,解压后文件名。
-r 或 –recursive 递归压缩
-t 或 –test 测试,检查压缩文件的完整性
-v 或 –verbose 对每一个文件,显示文件名和压缩比。
-V 或 –version 显示版本号
-num 指定压缩的速度-1或–fast表示快速(低压缩比)-9或–best慢(高压缩比)
例:
1、压缩当前目录下的所有文件。
linux@ubuntu:~/test$ ls
a b 桃花岛.mp3 #有三个文件
linux@ubuntu:~/test$ gzip * #压缩所有文件
linux@ubuntu:~/test$ ls
a.gz b.gz 桃花岛.mp3.gz #分别生成对应的.gz文件,但原始文件被删除了。
2、解压例1中的所有文件,并显示压缩比。
linux@ubuntu:~/test$ gzip --decompress -v *
a.gz: 1.3% -- replaced with a
b.gz: 1.3% -- replaced with b
桃花岛.mp3.gz: 1.3% -- replaced with 桃花岛.mp3
3、显示例1中的所有的压缩文件的信息
linux@ubuntu:~/test$ gzip --list *
compressed uncompressed ratio uncompressed_name
5566197 5638272 1.3% a
5566197 5638272 1.3% b
5566209 5638272 1.3% 桃花岛.mp3
16698603 16914816 1.3% (totals)
可以看出压缩完,未压缩时,压缩率,解压后的文件名。
4、对test目录下的文件压缩
我们可以用递归的方式进行压缩
linux@ubuntu:~$ ls test
a b 桃花岛.mp3
linux@ubuntu:~$ gzip --recursiv test #对目录下的文件进行压缩
linux@ubuntu:~$ ls test
a.gz b.gz 桃花岛.mp3.gz #
可以看出并没生成一个压缩文件,而是对目录下的文件分别压缩,这表示并不是生成一个包,那就是说他不能对目录进行压缩,可以用tar打包,之后再进行压缩。
如:tar -cf test.tar test/ tar -zcf test.tar.gz test/ 也是可以的,用tar -zxf解压
之后再进行gzip test.tar进行压缩
注意:
1、指定压缩文件必须存在。
2、他不对目录进行压缩,但可以递归目录下的文件进行压缩。