使用 gzip 压缩数据

        gzip 是GNU/Linux平台下常用的压缩软件,处理后缀名.gz的文件。 gzip 、 gunzip 和 zcat 都可以处理这种格式的。但这些工具只能压缩/解压缩单个文件或数据流,无法直接归档目录和多个文件。但是, gzip 可以同tar 和 cpio 这类归档工具配合使用。

        本文本记录gzip的使用方法。 


1. 使用 gzip 压缩文件:

gzip filename 

 上述命令会压缩文件名为filename的文件,并生成filename.gz,注意,原文件会被替换。


2. 解压缩 gzip 文件:

gunzip filename.gz 

        与gzip相反,gunzip命令用于解压缩,原文件也会被替换掉。

3.  列出压缩文件的属性信息: 

gzip -l filename.gz



4. gzip 从 stdin 中读入文件并将压缩文件写出到 stdout

cat file | gzip -c > file.gz

         选项  -c 用来将输出指定到 stdout 。该选项也可以与 cpio 配合使用: 

ls * | cpio -o | gzip -c > cpiooutput.gz
zcat cpiooutput.gz | cpio -it 

5. 指定 gzip 的压缩级别

        --fast 或 --best 选项分别提供最低或最高的压缩率。 

6.  压缩归档文件 

        后缀 tar.gz 或.tgz表示的是经过gzip压缩过的 tar 归档文件。

        有两种方法可以创建此类文件。 

6.1 第一种方法 

tar -czvvf archive.tar.gz [FILES] 

或者

tar -cavvf archive.tar.gz [FILES] 

        选项 -z 指明用 gzip 进行压缩,选项 -a 指明根据文件扩展名推断压缩格式。 


6.2 第二种方法 

      分成两步:首先创建一个 tar 归档文件;然后再压缩归档文件

$ tar -cvvf archive.tar [FILES] 
$ gzip archive.tar 


7.  zcat 直接读取gzip格式文件 


        zcat 命令无需经过解压缩操作就可以将 .gz 文件的内容输出到 stdout 。 .gz 文件不会发生任
何变化。 zcat 类似有点类似cat。

8. 压缩率

          可以指定压缩率,它共有9级,其中: 

  • 1级的压缩率最低,但是压缩速度最快
  • 9级的压缩率最高,但是压缩速度最慢。 
gzip -5 filename

gzip 默认使用第6级,倾向于在牺牲一些压缩速度的情况下获得比较好的压缩率。 

 

你可能感兴趣的:(shell,gzip)