gzip 命令详解

| 选择喜欢的代码风格  

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

gzip 命令安装:


-bash: gzip command not found

#Debian
apt-get install gzip

#Ubuntu
apt-get install gzip

#Alpine
apk add gzip

#Arch Linux
pacman -S gzip

#Kali Linux
apt-get install gzip

#CentOS
yum install gzip

#Fedora
dnf install gzip

#OS X
brew install gzip

#Raspbian
apt-get install gzip

#Docker
docker run cmd.cat/gzip gzip

gzip 命令补充说明:


如果压缩文件名对其文件系统而言太长,则 gzip 会将其截断。 gzip 会尝试截断文件名中长度超过 3 个字符的部分。 (一个部分由点分隔。)如果名称仅由小部分组成,则最长的部分将被截断。 例如,如果文件名限制为 14 个字符,则 gzip.msdos.exe 将压缩为 gzi.msd.exe.gz。 在文件名长度没有限制的系统上,名称不会被截断。

默认情况下,gzip 将原始文件名和时间戳保留在压缩文件中。 当使用 -N 选项解压缩文件时,将使用它们。 当压缩文件名被截断或文件传输后未保存时间戳时,此设置很有用。

gzip 命令语法:


gzip [ -acdfhlLnNrtvV19 ] [-S suffix] [ name ...  ]
gunzip [ -acfhlLnNrtvV ] [-S suffix] [ name ...  ]
zcat [ -fhLV ] [ name ...  ]

gzip 命令选项:


-a或--ascii:使用ASCII文字模式;
-c或--stdout, --to-stdout:将输出写入标准输出; 保持原始文件不变。 如果有多个输入文件,则输出由一系列独立压缩的成员组成。 为了获得更好的压缩效果,请在压缩所有输入文件之前对其进行串联。
-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”参数相同。
-num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6。

gzip 命令参数:


文件列表:指定要压缩的文件列表。

gzip 命令实例


把当前目录 commandnotfound 下的每个文件压缩成.gz文件

gzip *

#把上例中每个压缩的文件解压,并列出详细的信息
gzip -dv *

#详细显示例1中每个压缩的文件的信息,并不解压
gzip -l *

#压缩一个tar备份文件,此时压缩文件的扩展名为.tar.gz
gzip -r log.tar

#递归的压缩目录
gzip -rv commandnotfound

#这样,所有 commandnotfound 下面的文件都变成了.gz,
#目录依然存在只是目录里面的文件相应变成了.gz.这就是压缩,和打包不同。
#因为是对目录操作,所以需要加上 -r 选项,这样也可以对子目录进行递归了。

#递归地解压目录
gzip -dr commandnotfound

gzip 高级用法:可以串联多个压缩文件。 在这种情况下,gunzip 将立即提取所有成员。 例如:

gzip -c file1  > foo.gz
gzip -c file2 >> foo.gz

#然后
gunzip -c foo

#等同于
cat file1 file2

如果 .gz 文件的一个成员损坏了,其他成员仍然可以恢复(如果损坏的成员已删除)。 但是,可以通过一次压缩所有成员来获得更好的压缩:

cat file1 file2 | gzip > foo.gz

#上面的方式,压缩比要好于下面的:
gzip -c file1 file2 > foo.gz

如果要重新压缩连接的文件以获得更好的压缩,请执行以下操作:

gzip -cd old.gz | gzip > new.gz

gzip 命令扩展阅读:




gzip 命令评论