00. 目录
01. 命令概述
gzip命令用来压缩文件。gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名。
gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。
02. 命令格式
gzip [ -acdfhlLnNrtvV19 ] [-S 后缀] [ 文件名 ... ]
03. 常用选项
-a或——ascii:使用ASCII文字模式;
-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:显示版本信息;
-<压缩效率>:压缩效率是一个介于1~9的数值,预设值为“6”,指定愈大的数值,压缩效率就会愈高;
--best:此参数的效果和指定“-9”参数相同;
--fast:此参数的效果和指定“-1”参数相同。
04. 参考示例
4.1 不保留原文件压缩
[deng@localhost test]$ gzip passwd
[deng@localhost test]$ ls
etc passwd.gz
[deng@localhost test]$
4.2 保留原文件压缩
[deng@localhost test]$ gzip -c passwd > passwd.gz
4.3 压缩时显示指令执行过程
[deng@localhost test]$ gzip -v passwd
passwd: 61.0% -- replaced with passwd.gz
[deng@localhost test]$ ls
etc passwd1.gz passwd.gz
[deng@localhost test]$
4.4 将当前目录下每个文件压缩成 .gz 文件
[deng@localhost test]$ ls
a b c d e
[deng@localhost test]$ gzip *
[deng@localhost test]$ ls
a.gz b.gz c.gz d.gz e.gz
[deng@localhost test]$
**注意:**如果是目录,将被忽略。
4.5 解压.gz文件,不保留原文件
[deng@localhost test]$ gzip -d a.gz
[deng@localhost test]$ ls
a b.gz c.gz d.gz e.gz
[deng@localhost test]$
4.6 解压当前目录下所有的.gz文件
[deng@localhost test]$ ls
a b.gz c.gz d.gz e.gz
[deng@localhost test]$ gzip -d *.gz
[deng@localhost test]$ ls
a b c d e
[deng@localhost test]$
4.7 显示压缩文件信息
[deng@localhost test]$ gzip -l *.gz
compressed uncompressed ratio uncompressed_name
22 0 0.0% a
22 0 0.0% b
22 0 0.0% c
22 0 0.0% d
22 0 0.0% e
[deng@localhost test]$
4.8 递归的压缩目录
使用 -r 选项,递归压缩 doc 目录以及子目录下的所有文件(目录依然存在)。
[deng@localhost test]$ gzip -rv test/
test//a: 0.0% -- replaced with test//a.gz
test//b: 0.0% -- replaced with test//b.gz
test//c: 0.0% -- replaced with test//c.gz
test//d: 0.0% -- replaced with test//d.gz
test//e: 0.0% -- replaced with test//e.gz
[deng@localhost test]$ tree test
test
├── a.gz
├── b.gz
├── c.gz
├── d.gz
└── e.gz
0 directories, 5 files
[deng@localhost test]$
4.9 递归解压目录中文件
[deng@localhost test]$ gzip -d -r test/
[deng@localhost test]$ ls
etc passwd1.gz passwd.gz test
[deng@localhost test]$ tree test
test
├── a
├── b
├── c
├── d
└── e
0 directories, 5 files
[deng@localhost test]$