gzip/gunzip 指令

gzip/gunzip 指令

Linux gzip 命令用于压缩文件。

gzip 是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出 .gz 的扩展名。

Linux gunzip 命令用于解压文件。

gunzip 是个使用广泛的解压缩程序,它用于解开被 gzip 压缩过的文件,这些压缩文件预设最后的扩展名为 .gz

事实上 gunzip 就是 gzip 的硬链接,因此不论是压缩或解压缩,都可通过 gzip 指令单独完成

gzip 只能压缩单个文件,无法压缩文件夹。想要压缩文件夹,只能用 tar + gzip。因为 gzip 不负责打包,tar 负责打包。这就是为什么打包之后再压缩的后缀为 tar.gz

gzip 会修改源文件的内容(压缩)和文件名(加上 .gz)的后缀gzip 压缩的是源文件本身,所以不会增加新文件,比如一个压缩包,

gzip [-acdfhlLnNqrtvV][-S <压缩字尾字符串>][-<压缩效率>][--best/fast][文件...]
gzip [-acdfhlLnNqrtvV][-S <压缩字尾字符串>][-<压缩效率>][--best/fast][目录]

简单实践:

gzip source0/*:压缩

gzip -d source0/*:解压

注意,gzip 无法处理硬链接的文件

当一个文件有其他硬链接的时候,gzip 不会压缩此文件,因为 gzip 会修改文件内容。你可以带上 -f 参数强行压缩,但是那样的话,这个文件的其他硬链接就无法使用了,会看不到文件内容,文件内容为空。如果一个文件有软链接则还是会正常被压缩,只是压缩之后,软链接无法找到其指的文件,因为目标文件的文件名文件内容都变了。

无法直接处理文件夹

需要带上 -r 参数,递归处理。

源文件可以有多个