Linux培训教程lgzip命令详解和使用实例
gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。
1.命令格式:
gzip[参数][文件或者目录]
2.命令功能:
gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出".gz"的扩展名。
3.命令参数:
-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 显示版本信息。
-num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6。
4.使用实例:
实例1:把test6目录下的每个文件压缩成.gz文件
命令:
复制代码代码如下:gzip *
输出:
复制代码代码如下:
[root@localhost test6]# ll
总计 604
---xr--r-- 1 root mail 302108 11-30 08:39 linklog.log
---xr--r-- 1 mail users 302108 11-30 08:39 log2012.log
-rw-r--r-- 1 mail users 61 11-30 08:39 log2013.log
-rw-r--r-- 1 root mail 0 11-30 08:39 log2014.log
-rw-r--r-- 1 root mail 0 11-30 08:39 log2015.log
-rw-r--r-- 1 root mail 0 11-30 08:39 log2016.log
-rw-r--r-- 1 root mail 0 11-30 08:39 log2017.log
[root@localhost test6]# gzip *
[root@localhost test6]# ll
总计 28
---xr--r-- 1 root mail 1341 11-30 08:39 linklog.log.gz
---xr--r-- 1 mail users 1341 11-30 08:39 log2012.log.gz
-rw-r--r-- 1 mail users 70 11-30 08:39 log2013.log.gz
-rw-r--r-- 1 root mail 32 11-30 08:39 log2014.log.gz
-rw-r--r-- 1 root mail 32 11-30 08:39 log2015.log.gz
-rw-r--r-- 1 root mail 32 11-30 08:39 log2016.log.gz
-rw-r--r-- 1 root mail 32 11-30 08:39 log2017.log.gz
[root@localhost test6]#
实例2:把例1中每个压缩的文件解压,并列出详细的信息
命令:
复制代码代码如下:
gzip -dv *
输出:
复制代码代码如下:
[root@localhost test6]# ll
总计 28
---xr--r-- 1 root mail 1341 11-30 08:39 linklog.log.gz
---xr--r-- 1 mail users 1341 11-30 08:39 log2012.log.gz
-rw-r--r-- 1 mail users 70 11-30 08:39 log2013.log.gz
-rw-r--r-- 1 root mail 32 11-30 08:39 log2014.log.gz
-rw-r--r-- 1 root mail 32 11-30 08:39 log2015.log.gz
-rw-r--r-- 1 root mail 32 11-30 08:39 log2016.log.gz
-rw-r--r-- 1 root mail 32 11-30 08:39 log2017.log.gz
[root@localhost test6]# gzip -dv *
linklog.log.gz: 99.6% -- replaced with linklog.log
log2012.log.gz: 99.6% -- replaced with log2012.log
log2013.log.gz: 47.5% -- replaced with log2013.log
log2014.log.gz: 0.0% -- replaced with log2014.log
log2015.log.gz: 0.0% -- replaced with log2015.log
log2016.log.gz: 0.0% -- replaced with log2016.log
log2017.log.gz: 0.0% -- replaced with log2017.log
[root@localhost test6]# ll
总计 604
---xr--r-- 1 root mail 302108 11-30 08:39 linklog.log
---xr--r-- 1 mail users 302108 11-30 08:39 log2012.log
-rw-r--r-- 1 mail users 61 11-30 08:39 log2013.log
-rw-r--r-- 1 root mail 0 11-30 08:39 log2014.log
-rw-r--r-- 1 root mail 0 11-30 08:39 log2015.log
-rw-r--r-- 1 root mail 0 11-30 08:39 log2016.log
-rw-r--r-- 1 root mail 0 11-30 08:39 log2017.log
[root@localhost test6]#</p> <p>
实例3:详细显示例1中每个压缩的文件的信息,并不解压
命令:
复制代码代码如下:gzip -l *
输出:
复制代码代码如下:
[root@localhost test6]# gzip -l *
compressed uncompressed ratio uncompressed_name
1341 302108 99.6% linklog.log
1341 302108 99.6% log2012.log
70 61 47.5% log2013.log
32 0 0.0% log2014.log
32 0 0.0% log2015.log
32 0 0.0% log2016.log
32 0 0.0% log2017.log
2880 604277 99.5% (totals)
实例4:压缩一个tar备份文件,此时压缩文件的扩展名为.tar.gz
命令:
复制代码代码如下:gzip -r log.tar
输出:
复制代码代码如下:
[root@localhost test]# ls -al log.tar
-rw-r--r-- 1 root root 307200 11-29 17:54 log.tar
[root@localhost test]# gzip -r log.tar
[root@localhost test]# ls -al log.tar.gz
-rw-r--r-- 1 root root 1421 11-29 17:54 log.tar.gz
实例5:递归的压缩目录
命令:
复制代码代码如下:
gzip -rv test6
输出:
复制代码代码如下:
[root@localhost test6]# ll
总计 604
---xr--r-- 1 root mail 302108 11-30 08:39 linklog.log
---xr--r-- 1 mail users 302108 11-30 08:39 log2012.log
-rw-r--r-- 1 mail users 61 11-30 08:39 log2013.log
-rw-r--r-- 1 root mail 0 11-30 08:39 log2014.log
-rw-r--r-- 1 root mail 0 11-30 08:39 log2015.log
-rw-r--r-- 1 root mail 0 11-30 08:39 log2016.log
-rw-r--r-- 1 root mail 0 11-30 08:39 log2017.log
[root@localhost test6]# cd ..
[root@localhost test]# gzip -rv test6
test6/log2014.log: 0.0% -- replaced with test6/log2014.log.gz
test6/linklog.log: 99.6% -- replaced with test6/linklog.log.gz
test6/log2015.log: 0.0% -- replaced with test6/log2015.log.gz
test6/log2013.log: 47.5% -- replaced with test6/log2013.log.gz
test6/log2012.log: 99.6% -- replaced with test6/log2012.log.gz
test6/log2017.log: 0.0% -- replaced with test6/log2017.log.gz
test6/log2016.log: 0.0% -- replaced with test6/log2016.log.gz
[root@localhost test]# cd test6
[root@localhost test6]# ll
总计 28
---xr--r-- 1 root mail 1341 11-30 08:39 linklog.log.gz
---xr--r-- 1 mail users 1341 11-30 08:39 log2012.log.gz
-rw-r--r-- 1 mail users 70 11-30 08:39 log2013.log.gz
-rw-r--r-- 1 root mail 32 11-30 08:39 log2014.log.gz
-rw-r--r-- 1 root mail 32 11-30 08:39 log2015.log.gz
-rw-r--r-- 1 root mail 32 11-30 08:39 log2016.log.gz
-rw-r--r-- 1 root mail 32 11-30 08:39 log2017.log.gz
说明:
这样,所有test下面的文件都变成了*.gz,目录依然存在只是目录里面的文件相应变成了*.gz.这就是压缩,和打包不同。因为是对目录操作,所以需要加上-r选项,这样也可以对子目录进行递归了。
实例6:递归地解压目录
命令:
复制代码代码如下:
gzip -dr test6
输出:
复制代码代码如下:
[root@localhost test6]# ll
总计 28
---xr--r-- 1 root mail 1341 11-30 08:39 linklog.log.gz
---xr--r-- 1 mail users 1341 11-30 08:39 log2012.log.gz
-rw-r--r-- 1 mail users 70 11-30 08:39 log2013.log.gz
-rw-r--r-- 1 root mail 32 11-30 08:39 log2014.log.gz
-rw-r--r-- 1 root mail 32 11-30 08:39 log2015.log.gz
-rw-r--r-- 1 root mail 32 11-30 08:39 log2016.log.gz
-rw-r--r-- 1 root mail 32 11-30 08:39 log2017.log.gz
[root@localhost test6]# cd ..
[root@localhost test]# gzip -dr test6
[root@localhost test]# cd test6
[root@localhost test6]# ll
总计 604
---xr--r-- 1 root mail 302108 11-30 08:39 linklog.log
---xr--r-- 1 mail users 302108 11-30 08:39 log2012.log
-rw-r--r-- 1 mail users 61 11-30 08:39 log2013.log
-rw-r--r-- 1 root mail 0 11-30 08:39 log2014.log
-rw-r--r-- 1 root mail 0 11-30 08:39 log2015.log
-rw-r--r-- 1 root mail 0 11-30 08:39 log2016.log
-rw-r--r-- 1 root mail 0 11-30 08:39 log2017.log
[root@localhost test6]#</p> <p>
Linux培训教程lgzip命令详解和使用实例的更多相关文章
- Linux上的free命令详解、swap机制
Linux上的free命令详解 解释一下Linux上free命令的输出. 下面是free的运行结果,一共有4行.为了方便说明,我加上了列号.这样可以把free的输出看成一个二维数组FO(Free ...
- Linux CAT与ECHO命令详解 <<EOF EOF
Linux CAT与ECHO命令详解 cat命令是Linux下的一个文本输出命令,通常是用于观看某个文件的内容的: cat主要有三大功能: .一次显示整个文件. $ cat filename .从键盘 ...
- [r]Ubuntu Linux系统下apt-get命令详解
Ubuntu Linux系统下apt-get命令详解(via|via) 常用的APT命令参数: apt-cache search package 搜索包 apt-cache show package ...
- Linux CAT与ECHO命令详解
Linux CAT与ECHO命令详解 cat命令是Linux下的一个文本输出命令,通常是用于观看某个文件的内容的: cat主要有三大功能: 1.一次显示整个文件. $ cat filename 2.从 ...
- (转)Linux: dirname、basename命令详解
Linux: dirname.basename命令详解 原文:http://blog.sina.com.cn/s/blog_3f63916f010143vo.html 一.dirname指令 1.功能 ...
- apt-get 命令详解(中文),以及实例
apt-get 命令详解(中文),以及实例 一,什么的是apt-get 高级包装工具(英语:Advanced Packaging Tools,简称:APT)是Debian及其衍生发行版(如:ubunt ...
- route命令详解与使用实例 ,同时访问内外网
route命令详解与使用实例 2011-10-18 12:19:41| 分类: 其他 | 标签:route |字号 订阅 1. 使用背景 需要接入两个网络,一个是部署环境所在内 ...
- Linux服务管理 systemctl命令详解
Linux服务器,服务管理--systemctl命令详解,设置开机自启动 syetemclt就是service和chkconfig这两个命令的整合 任务 旧指令 新指令 使某服务自动启动 ch ...
- centos、linux关机与重启命令详解
Linux centos关机与重启命令详解与实战 Linux centos重启命令: 1.reboot 2.shutdown -r now 立刻重启(root用户使用) 3.shutdown -r 1 ...
随机推荐
- 天勤考研数据结构笔记—栈的C语言实现
栈的基本概念 栈的定义:栈是一种只能在一端进行插入或删除操作的线性表.其中允许进行插入或删除的一端称为栈顶(top).栈顶是由一个称为栈顶指针的位置指示器(其实就是一个变量,对于顺序栈,就是数组索引, ...
- 浅谈Linux cp命令
Linux 的cp命令 功能: 复制文件或目录说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中.若 ...
- 设计模式:门面模式(Facade)
前面介绍的适配器模式讲的是如何将一个接口转换成客户所需要的另一个接口,它的目的在于 解决接口的不兼容性问题.现在这里有这样一个模式,它的目的在于如何简化接口,它可以将多个类的复杂的一切隐藏在背后, ...
- java的hashCode和equals为什么要同时重写?
原因: java规范:相等的对象必须具有相等的散列码(hashCode) 同时对于HashSet和HashMap这些基于散列值(hash)实现的类.key的判断是通过hashCode完成,且散列也是通 ...
- CF387B 【George and Round】
暴力还真的出奇迹了这题窝将读入的两个数组都先排个序,然后再枚举一遍就过了: 目前题解最短的代码QwQ.这里是代码 #include<bits/stdc++.h>using namespac ...
- C++ 的关键字(保留字)完整介绍
转载至:https://www.runoob.com/w3cnote/cpp-keyword-intro.html 1. asm asm (指令字符串):允许在 C++ 程序中嵌入汇编代码. 2. a ...
- Clion 常用功能
1.创建新文件并加入项目 打开CMakeList.txt,加入这样的一段话,随后点击图中的Reload changes add_executable(项目名 文件名) 2.文件重命名,移动,复制,移除 ...
- Jmeter 连接远程测压__(负载测试)
第一步: 双方关闭防火墙 打开jmeter server bat 路径如下 会出错
- 098、Swarm 如何实现 Failover (Swarm05)
参考https://www.cnblogs.com/CloudMan6/p/7898245.html 故障是在所难免的,容器可能崩溃,Docker Host 可能宕机,不过幸运的是,Swarm 已 ...
- 请手写代码实现一个promise
第一步:promise的声明 class Promise{ // 构造器 constructor(executor){ // 成功 let resolve = () => { }; // 失败 ...