gzip操作手册

gzip工具

gzip采用了最流行的压缩算法,可以让你缩小文件的大小,并且保留原始的文件模式,属主和时间戳。
使用gzip工具压缩的文件一般使用.gz的文件名后缀,并且gzip也可以用来解压缩文件。

命令格式以及说明

通常的语法格式如下:

1
gzip [可选项] ... [文件]...

gzip只能压缩单个文件,并为给定的文件创建一个压缩之后的文件。根据惯例,压缩之后的文件的命令一把使用.gz或者.z
如果你想将多个文件或者目录压缩到一个文件中,首先你需要创建一个tar包,然后对这个tar包进行压缩。这样的文件一般会使用.tar.gz或者.tgz作为后缀来表明这个文件是使用了gzip压缩之后的tar包。
gzip最常用作压缩文本文件,tar包或者网页,尽量不要使用gzip去压缩图片,音频,pdf文档或者其他的二进制文件,因为他们已经被压缩过了。
gzip只能压缩常规文件,符号链接文件会被忽略。

使用gzip压缩文件

  • 不带任何参数的压缩
    1
    gzip 你的文件
    该命令将会创建一个你的文件.gz文件,然后删除原始文件。
    默认情况下,gzip会保留原始文件的时间戳,模式,属主和文件名。
  • 保留原始文件
    1
    gzip -k 你的文件
    另外一种保留原始文件的方法是使用-c选项,告诉gzip将原始文件写入到标准输出,然后重定向到指定的文件
    1
    gzip -c 你的文件 > 你的文件.gz
  • 查看冗余信息
    1
    gzip -v 你的文件
    该命令将会输出压缩进度信息
  • 压缩多个文件
    1
    gzip 文件1 文件2 文件3
    该命令将会生成文件1.gz文件2.gz文件3.gz这3个文件。
  • 压缩目录
    1
    gzip -r 你的目录
    该命令会递归压缩你的目录下的所有文件,分别生成.gz文件。
  • 改变压缩等级
    gzip允许我们指定文件的压缩等级,范围是1-9,而-1或者--fast则代表使用最小的压缩率以达到最快的压缩速度;而-9或者--best则代表使用最高的压缩率,相应的,也会有最慢的压缩速度。默认的压缩级别是6;
    1
    gzip -9 你的文件
    压缩是CPU密集型的任务,压缩等级越高,压缩过程越长。
  • 使用标准输入
    为了从标准输入创建.gz文件,使用管道命令重定向到gzip。
    1
    mysqldump database_name | gzip -c > database_name.sql.gz
    该命令将会把mysqldump的输出内容作为输入传递给gzip。

使用gzip解压缩

  • 使用-d作为解压缩选项
    1
    gzip -d 你的文件.gz
    另一个可以用于解压缩的命令是gunzip,它可以算作是gzip -d的别名。
    1
    gunzip 你的文件.gz
  • 保留原始压缩文件
    1
    gzip -dk 你的文件.gz
  • 解压缩多个文件
    1
    gzip -d 你的文件1.gz 你的文件2.gz 你的文件3.gz
  • 解压缩目录下的所有压缩文件
    1
    gzip -dr 你的目录
  • 查看压缩文件的内容
    1
    gzip -l 你的文件
    使用-v可以得到更加详细的信息。