gzip 压缩解压命令使用及原理 您所在的位置:网站首页 gzip压缩文件格式 gzip 压缩解压命令使用及原理

gzip 压缩解压命令使用及原理

2023-07-12 02:50| 来源: 网络整理| 查看: 265

gzip 命令用于压缩或解压缩一个或更多文件,文件经它压缩过后,其名称后面会多处“.gz”扩展名,gzip 也经常用来表示 gzip 这种文件格式。默认情况下,执行命令后,原文件会被其压缩文件取代。与之相反,gunzip 命令则将压缩文件还原为原文件。

1gzip 示例2gzip 命令2.1语法2.2选项3gzip 常用实例3.1一条命令压缩多个文件3.2压缩保留原始文件3.3压缩采用最大的压缩比,并且显示压缩率4扩展

gzip 不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和 tar 命令一起构成 Linux 操作系统中比较流行的压缩文件格式。据统计,gzip 命令对文本文件有 60 %~70 %的压缩率。减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。

gzip 示例

压缩文件示例:

demo@Linux ~ $ ls -ltrh -rw-r--r-- 1 demo demo 11K 4 11 15:33 demo.txt demo@Linux ~ $ demo@Linux ~ $ gzip demo.txt demo@Linux ~ $ demo@Linux ~ $ ls -ltrh -rw-r--r-- 1 demo demo 4.2K 4 11 15:33 demo.txt.gz

我们针对 demo.txt 文件进行压缩,命令执行后,demo.txt.gz 文件取代了原文件,大小变为差不多原来的 1/3;此外,我们还可以看出,压缩后的文件与原文件有着相同的权限和时间戳。

接着,我们运用 gunzip 命令进行解压缩,如此该压缩文件又被原始文件取代,而且权限和时间戳仍然保持一致,示例如下:

demo@Linux ~ $ gunzip demo.txt demo@Linux ~ $ demo@Linux ~ $ ls -ltrh -rw-r--r-- 1 demo demo 11K 4 11 15:33 demo.txt

解压缩也可以用 gzip 命令上加 -d 选项,等同于 gunzip 命令。

gzip 命令

OpenBSD 中所包含的 gzip 版本实际上是 compress 程序,其对 gzip 文件的支持在 OpenBSD 3.4 中被添加,此处的 g 代表免费(gratis)。

语法 gzip [选项] [-S 后缀] 文件1/目录1 [文件2/目录2 [...]] gunzip [选项] [-S 后缀] 文件1/目录1 [文件2/目录2 [...]] 选项 -c, --stout, --to-stout 将输出内容写到标准输出端口,并且保持原有文件。 -d, --decompress, --uncompress 解压缩。加上此选项,gzip 命令便类似于 gunzip。 -k, --keep 压缩或者解压缩过程中,保留原文件。 -r, --recursive 如果该命令行的操作参数中有一个或是多个是目录,那么递归压缩包含在目录中的文件。 -v, --verbose 在压缩时显示详细信息(每个文件的压缩率信息等)。 -1, --fast -2, -3, -4, -5, -6, -7, -8 -9, --best 设定压缩级别。级别从 1(速度最快,压缩比最小)到 9(速度最慢,压缩比最大)范围中的一个整数。此外 1 也可用 --fast 选项,9 可以用 --best 描述。gzip 默认的压缩级别是 6。

除了上述描述的常用选项外,还有如下选项:

-f, --force 强制压缩。不理会文件名称或硬连接是否存在以及该文件是否为软连接。 -h, --help 显示在线帮助信息。 -L, --license 显示版权信息。 -l, --list 列出所有压缩文件的压缩统计(如,解压后的名字、压缩率等)。 -N, --name 压缩文件时,保存为原来的文件名称。 -n, --no-name 压缩文件时,不保存原来的文件名称及时间戳。 -q, --quiet 安静模式,即不显示警告(warnings)及错误(errors)信息。 -S suffix, --suffix suffix 更改压缩文件扩展名的后缀,默认是 .gz,注意 suffix 包含点。 -t, --test 检验压缩文件的完整性。 -V, --version 显示版本信息。 gzip 常用实例

下面列出了 gzip 常用的几种实例。

一条命令压缩多个文件 demo@Linux ~ $ gzip demo.txt sample.txt demo@Linux ~ $ demo@Linux ~ $ ls -ltrh -rw-r--r-- 1 demo demo 4.2K 4 11 15:33 demo.txt.gz -rw-r--r-- 1 demo demo 10K 4 11 15:33 sample.txt.gz 压缩保留原始文件

只需要加 -k 选项即可。

demo@Linux ~ $ gzip -k demo.txt demo@Linux ~ $ demo@Linux ~ $ ls -ltrh -rw-r--r-- 1 demo demo 4.2K 4 11 15:33 demo.txt.gz -rw-r--r-- 1 demo demo 11K 4 11 15:33 demo.txt 压缩采用最大的压缩比,并且显示压缩率

最大的压缩比,需要选项 -9 或 -- best,显示压缩信息加选项 -v。

demo@Linux ~ $ gzip -9v demo.txt demo.txt: 31.8% -- replaced with demo.txt.gz 扩展

针对 gzip 压缩后的文件内容的查看,我们可以用 zcat 命令,它的功能与 cat 命令相同,只是它的操作对象是压缩文件。用 zcat 命令处理 gzip 压缩文件的示例如下:

demo@Linux ~ $ zcat demo.txt.gz | less

同样也有 zless 命令,类似于 zcat 与 cat 命令的关系。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有