一、简介
gzip 命令用于压缩或解压文件,是个使用广泛的压缩命令,文件经过它压缩后,其压缩名称后面会多出 .gz 的扩展名。
gzip 使用 DEFLATE 压缩算法,通常比bzip2更快,但压缩比稍低。
二、语法
语法:gzip [OPTION]... [FILE]...
file:要压缩的文件。gzip 会将指定的文件压缩,并生成一个 .gz 后缀的压缩文件,同时删除原始文件。
参数说明:
-d:解压缩 .gz 文件。相当于使用 gunzip 命令。
-k:保留原始文件,不删除。
-r:递归压缩目录下的所有文件。
-v:显示详细的压缩或解压缩过程。
-l:显示压缩文件的详细信息,如压缩率、原始大小等。
-1 到 -9:指定压缩比。-1 是最快的压缩,压缩率最低;-9 是最慢的压缩,压缩率最高。默认是 -6。
-t:测试压缩文件的完整性。
-c: 写入标准输出,保持原始文件不变
三、实战
1、压缩文件
[root@app01 abc]# gzip 1.txt
[root@app01 abc]# ls 1.txt.gz
1.txt.gz
[root@app01 abc]# ls 1.txt
ls: 无法访问1.txt: 没有那个文件或目录
此命令会将1.txt 压缩为1.txt.gz,并删除原始文件1.txt。如果希望在压缩后保留原始文件,压缩文件时可以加上 -k 选项。
注:在 gzip 工具的早期版本中,确实存在一些参数选项,比如-k(或 --keep),用于在压缩文件时保留原文件。然而,从 gzip 的1.5版本开始,-k参数已经被移除。
如果你的系统上的 gzip 版本是 1.5 或更高版本,并且你想要在压缩文件时保留原文件,你应该使用 -c 参数(表示输出到标准输出)与重定向结合的方式来达到目的。例如:
[root@app01 ~]# gzip -c 1.txt >1.txt.gz
[root@app01 ~]# ls 1.txt 1.txt.gz
1.txt 1.txt.gz
2、解压文件
要解压缩 .gz 文件,可以使用 -d 选项或直接使用 gunzip。
[root@app01 abc]# gzip 1.txt
[root@app01 abc]# ls 1.txt.gz
1.txt.gz
[root@app01 abc]# gzip -d 1.txt.gz
[root@app01 abc]# ls 1.txt
1.txt
或
[root@app01 abc]# gunzip 1.txt.gz
[root@app01 abc]# ls 1.txt
1.txt
3、解压文件,并显示解压过程
[root@app01 abc]# gzip -dv 1.txt.gz
1.txt.gz: 32.3% -- replaced with 1.txt
4、显示压缩文件信息
[root@app01 abc]# gzip -l 1.txt.gz
compressed uncompressed ratio uncompressed_name
45 31 32.3% 1.txt
此命令会显示文件的原始大小、压缩后大小、压缩率等信息。
5、测试压缩文件
使用 -t 选项测试压缩文件的完整性。
[root@app01 ~]# gzip -t 1.txt.gz
如果文件完整且无损坏,该命令将不会输出内容,否则会提示错误信息。
6、递归压缩目录下的文件
你可以使用 -r 选项递归压缩整个目录下的文件。
[root@app01 ~]# gzip -r abc/
[root@app01 app]# ls abc
1.txt.gz 2.txt.gz bcd
此命令会压缩 abc目录下的所有文件,并不是目录,并保留目录结构。
注:gzip 主要用于压缩单个文件。如果需要压缩多个文件或整个目录,通常先用tar命令归档之后,再用gzip命令进行压缩。例如:
[root@app01 ~]# tar -cvzf archive.tar.gz directory/
或
[root@app01 ~]# tar -cvf archive.tar directory/
[root@app01 ~]# gzip archive.tar

1025

被折叠的 条评论
为什么被折叠?



