Linux gzip 命令的使用

 更新时间:2020年8月31日 09:53  点击:2138

1.命令简介

gzip(GNU zip)命令用来压缩和解压缩文件,是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,采用 LZ77 无损压缩算法,压缩后的文件一般使用 .gz 后缀。

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

2.命令格式

gzip [ -acdfhlLnNrtvV19 ] [-S SUFFIX] [ NAME... ]

3.选项说明

-a --ascii
	使用 ASCII 文字模式。在转换行末字符时使用本地约定。此选项仅在某些非 Unix 系统上支持。对于 MSDOS,压缩时将 CR LF 转换为 LF,解压缩时将 LF 转换为 CR LF
-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=SUFFIX
	更改压缩后解压缩后的文件的后缀名
-t, --test
	测试压缩文件是否正确无误
-v, --verbose
	显示指令执行过程
-V, --version
	显示版本信息并退出
-#, --best, --fast
	指定压缩效果。压缩率是一个介于 1~9 的数值,数值越大,压缩率越高,压缩速度越低,缺省为 6。--best 等同于 -9,--fast 等同于 -1

4.常用示例

(1)不保留原文件压缩。

gzip /etc/passwd

压缩后的 /etc/passwd 将变为 /etc/passwd.gz。

(2)保留原文件压缩。

gzip -c /etc/passwd > passwd.gz

(3)压缩时显示指令执行过程。

gzip -v /etc/passwd
/etc/passwd:	 57.9% -- replaced with /etc/passwd.gz

(4)解压 .gz 文件,不保留原文件。

gzip -dv /etc/passwd.gz
/etc/passwd.gz:	 57.9% -- replaced with /etc/passwd

(5)递归压缩指定目录下的所有文件。

ls dir
file1 file2 file3

gzip -rv dir
dir/file3:	-10.0% -- replaced with dir/file3.gz
dir/file2:	-25.0% -- replaced with dir/file2.gz
dir/file1:	-16.7% -- replaced with dir/file1.gz

以上就是Linux gzip 命令的使用的详细内容,更多关于Linux gzip 命令的资料请关注猪先飞其它相关文章!

[!--infotagslink--]

相关文章

  • 使用percona-toolkit操作MySQL的实用命令小结

    1.pt-archiver 功能介绍: 将mysql数据库中表的记录归档到另外一个表或者文件 用法介绍: pt-archiver [OPTION...] --source DSN --where WHERE 这个工具只是归档旧的数据,不会对线上数据的OLTP查询造成太大影响,你可以将...2015-11-24
  • 在linux中使用包管理器安装node.js

    网上文章中,在linux下安装node.js都是使用源码编译,其实node的github上已经提供了各个系统下使用各自的包管理器(package manager)安装node.js的方法。...2015-03-15
  • Linux安装Pytorch1.8GPU(CUDA11.1)的实现

    这篇文章主要介绍了Linux安装Pytorch1.8GPU(CUDA11.1)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-25
  • Linux中grep命令详解

    grep命令是Linux系统中最重要的命令之一,功能是从文本文件或管道数据流中筛选匹配的行和数据,如果再配合正则表达式,功能十分强大,是Linux运维人员必备的命令,这篇文章主要介绍了Linux中grep详解,需要的朋友可以参考下...2023-02-15
  • C#隐式运行CMD命令(隐藏命令窗口)

    这篇文章主要介绍了C#隐式运行CMD命令(隐藏命令窗口),本文实现在winform窗口中运行CMD命令,需要的朋友可以参考下...2020-06-25
  • PHP实现连接设备、通讯和发送命令的方法

    本文实例讲述了PHP实现连接设备、通讯和发送命令的方法。分享给大家供大家参考。具体如下:开发的BS架构的软件(PHP),需要跟设备进行通讯,在此记录一下,欢迎各位指正:1. 采用php socket技术使用TCP/IP连接设备参数$service_po...2015-10-21
  • 对MySQL日志操作的一些基本命令总结

    MySQL日志主要包含:错误日志、查询日志、慢查询日志、事务日志、二进制日志;日志是mysql数据库的重要组成部分。日志文件中记录着mysql数据库运行期间发生的变化;也就是说用来记录mysql数据库的客户端连接状况、SQL语句...2015-11-24
  • 详解Linux环境变量配置全攻略

    这篇文章主要介绍了Linux环境变量配置全攻略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-03-31
  • Linux 下使用shell脚本定时维护数据库的案例

    这篇文章主要介绍了Linux 下使用shell脚本定时维护数据库,本文通过案例分析给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
  • linux服务器快速卸载安装node环境(简单上手)

    这篇文章主要介绍了linux服务器快速卸载安装node环境(简单上手),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-22
  • Mysql命令大全(详细篇)

    一、连接Mysql格式: mysql -h主机地址 -u用户名 -p用户密码1、连接到本机上的MYSQL。首先打开DOS窗口,然后进入目录mysql/bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密...2015-11-08
  • 查看Redis内存信息的命令

    Redis 是一个开源、高性能的Key-Value数据库,被广泛应用在服务器各种场景中。本文介绍几个查看Redis内存信息的命令,包括常用的info memory、info keyspace、bigkeys等。...2021-01-15
  • 解决jmap命令打印JVM堆信息异常的问题

    这篇文章主要介绍了解决jmap命令打印JVM堆信息异常的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-12-04
  • Linux下升级安装python3.8并配置pip及yum的教程

    这篇文章主要介绍了Linux下升级安装python3.8并配置pip及yum的教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-05-02
  • MySQL的常用命令集锦

    下面是我们经常会用到且非常有用的MySQL命令。下面你看到#表示在Unix命令行下执行命令,看到mysql>表示当前已经登录MySQL服务器,是在mysql客户端执行mysql命令。 登录MySQL,如果连接远程数据库,需要用-h指定hostname。登...2015-11-24
  • Linux下安装mysql-8.0.20的教程详解

    这篇文章主要介绍了Linux下安装mysql8.0.20的教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-05-25
  • linux下源码安装mysql5.6.20教程

    这篇文章主要为大家详细介绍了linux下源码安装mysql5.6.20教程的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-01-15
  • C#实现的调用DOS命令操作类实例

    这篇文章主要介绍了C#实现的调用DOS命令操作类,实例分析了C#调用系统常用DOS命令的相关技巧,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • Linux zabbix agent部署及配置方法详解

    这篇文章主要介绍了Linux zabbix agent部署及配置方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-08-21
  • shell脚本批量复制及执行命令的示例详解

    这篇文章主要介绍了批量复制及执行命令shell脚本,本文通过列举几个示例给大家详细介绍,对大家的工作或学习具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11