命令 gzip 的英文是“GNUzip”,gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,gzip 对文本文件有 60%~70% 的压缩率,使用 gzip 创建的压缩包名称以 .gz
为后缀名。
选项 | 说明 |
---|---|
-a 或 --ascii | 使用ASCII文字模式 |
-c | 把压缩后的文件输出到标准输出设备,不去更改原始文件,保留原文件 |
-d 或 --decompress 或 --uncompress | 解开压缩文件 |
-f 或 --force | 强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接 |
-h 或 --help | 在线帮助 |
-l 或 --list | 列出压缩文件的相关信息 |
-L 或 --license | 显示版本与版权信息 |
-n 或 --no-name | 压缩文件时,不保存原来的文件名称及时间戳记 |
-N 或 --name | 压缩文件时,保存原来的文件名称及时间戳记 |
-q 或 --quiet | 不显示警告信息 |
-r 或 --recursive | 递归处理,将指定目录下的所有文件及子目录一并处理 |
-S 或 <压缩字尾字符串> 或 ----suffix<压缩字尾字符串> | 更改压缩字尾字符串 |
-t 或 --test | 测试压缩文件是否正确无误 |
-v 或 --verbose | 显示指令执行过程 |
-V 或 --version | 显示版本信息 |
–best | 此参数的效果和指定“-9”参数相同 |
–fast | 此参数的效果和指定“-1”参数相同 |
-num | num就是压缩等级,数值介于 1~9 之间,系统缺省值是 6,指定越大的数值,压缩比越大,但是压缩的速度就越慢。-1 或 --fast 表示最快压缩方法(低压缩比),-9 或 --best 表示最慢压缩方法(高压缩比) |
将目录 test 下的每个文件压缩打包成扩展名为 .gz
的压缩包:
[root@htlwk0001host ~]# cd test
[root@htlwk0001host test]# ls
Person.class person.jar Person.java td_dictionary_20210523.sql tf_user_20210523.sql
[root@htlwk0001host test]# gzip *
[root@htlwk0001host test]# ls
Person.class.gz person.jar.gz Person.java.gz td_dictionary_20210523.sql.gz tf_user_20210523.sql.gz
说明:可以看到压缩后每个文件的名称后面多出了后缀名 .gz
解压目录 test 下的每个压缩文件,并列出详细的解压信息:
[root@htlwk0001host test]# gzip -dv *
Person.class.gz: 23.1% -- replaced with Person.class
person.jar.gz: 33.2% -- replaced with person.jar
Person.java.gz: 7.9% -- replaced with Person.java
td_dictionary_20210523.sql.gz: 91.3% -- replaced with td_dictionary_20210523.sql
tf_user_20210523.sql.gz: 89.4% -- replaced with tf_user_20210523.sql
[root@htlwk0001host test]# ls
Person.class person.jar Person.java td_dictionary_20210523.sql tf_user_20210523.sql
显示目录 test 中每个压缩文件的信息,并不解压:
[root@htlwk0001host test]# gzip -l *
compressed uncompressed ratio uncompressed_name
217 242 23.1% Person.class
459 644 33.2% person.jar
100 76 7.9% Person.java
1409 15650 91.3% td_dictionary_20210523.sql
9286 87636 89.4% tf_user_20210523.sql
11471 104248 89.0% (totals)
[root@htlwk0001host test]# gzip -r log.tar
递归压缩目录 test 下的内容:
[root@htlwk0001host ~]# gzip -r test
说明:递归压缩后,目录 test 下的每个文件被压缩成 .gz 文件,如果存在子目录,子目录下的文件也会被压缩成 .gz 文件,有没有发现个问题,gzip 无法压缩目录,只能压缩文件。
[root@htlwk0001host ~]# gzip -dr test