减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。
gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip不仅可以用来压
缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格
式。据统计,gzip命令对文本文件有60%~%的压缩率。
.命令格式:
gzip[参数][文件或者目录]
.命令功能:
gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出".gz"的扩展名。
.命令参数:
-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。
.使用实例:
实例1:把test6目录下的每个文件压缩成.gz文件
命令:
gzip *
输出:
[root@localhost test6]# ll
总计
---xr--r-- root mail - : linklog.log
---xr--r-- mail users - : log2012.log
-rw-r--r-- mail users - : log2013.log
-rw-r--r-- root mail - : log2014.log
-rw-r--r-- root mail - : log2015.log
-rw-r--r-- root mail - : log2016.log
-rw-r--r-- root mail - : log2017.log
[root@localhost test6]# gzip *
[root@localhost test6]# ll
总计
---xr--r-- root mail - : linklog.log.gz
---xr--r-- mail users - : log2012.log.gz
-rw-r--r-- mail users - : log2013.log.gz
-rw-r--r-- root mail - : log2014.log.gz
-rw-r--r-- root mail - : log2015.log.gz
-rw-r--r-- root mail - : log2016.log.gz
-rw-r--r-- root mail - : log2017.log.gz
[root@localhost test6]#
说明:
实例2:把例1中每个压缩的文件解压,并列出详细的信息
命令:
gzip -dv *
输出:
[root@localhost test6]# ll
总计
---xr--r-- root mail - : linklog.log.gz
---xr--r-- mail users - : log2012.log.gz
-rw-r--r-- mail users - : log2013.log.gz
-rw-r--r-- root mail - : log2014.log.gz
-rw-r--r-- root mail - : log2015.log.gz
-rw-r--r-- root mail - : log2016.log.gz
-rw-r--r-- root mail - : 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
总计
---xr--r-- root mail - : linklog.log
---xr--r-- mail users - : log2012.log
-rw-r--r-- mail users - : log2013.log
-rw-r--r-- root mail - : log2014.log
-rw-r--r-- root mail - : log2015.log
-rw-r--r-- root mail - : log2016.log
-rw-r--r-- root mail - : log2017.log
[root@localhost test6]#
说明:
实例3:详细显示例1中每个压缩的文件的信息,并不解压
命令:
gzip -l *
输出:
[root@localhost test6]# gzip -l *
compressed uncompressed ratio uncompressed_name
99.6% linklog.log
99.6% log2012.log
47.5% log2013.log
0.0% log2014.log
0.0% log2015.log
0.0% log2016.log
0.0% log2017.log
99.5% (totals)
说明:
实例4:压缩一个tar备份文件,此时压缩文件的扩展名为.tar.gz
命令:
gzip -r log.tar
输出:
[root@localhost test]# ls -al log.tar
-rw-r--r-- root root - : log.tar
[root@localhost test]# gzip -r log.tar
[root@localhost test]# ls -al log.tar.gz
-rw-r--r-- root root - : log.tar.gz
说明:
实例5:递归的压缩目录
命令:
gzip -rv test6
输出:
[root@localhost test6]# ll
总计
---xr--r-- root mail - : linklog.log
---xr--r-- mail users - : log2012.log
-rw-r--r-- mail users - : log2013.log
-rw-r--r-- root mail - : log2014.log
-rw-r--r-- root mail - : log2015.log
-rw-r--r-- root mail - : log2016.log
-rw-r--r-- root mail - : 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
总计
---xr--r-- root mail - : linklog.log.gz
---xr--r-- mail users - : log2012.log.gz
-rw-r--r-- mail users - : log2013.log.gz
-rw-r--r-- root mail - : log2014.log.gz
-rw-r--r-- root mail - : log2015.log.gz
-rw-r--r-- root mail - : log2016.log.gz
-rw-r--r-- root mail - : log2017.log.gz
说明:
这样,所有test下面的文件都变成了*.gz,目录依然存在只是目录里面的文件相应变成了*.gz.这就是压缩,和打包
不同。因为是对目录操作,所以需要加上-r选项,这样也可以对子目录进行递归了。
实例6:递归地解压目录
命令:
gzip -dr test6
输出:
[root@localhost test6]# ll
总计
---xr--r-- root mail - : linklog.log.gz
---xr--r-- mail users - : log2012.log.gz
-rw-r--r-- mail users - : log2013.log.gz
-rw-r--r-- root mail - : log2014.log.gz
-rw-r--r-- root mail - : log2015.log.gz
-rw-r--r-- root mail - : log2016.log.gz
-rw-r--r-- root mail - : log2017.log.gz
[root@localhost test6]# cd ..
[root@localhost test]# gzip -dr test6
[root@localhost test]# cd test6
[root@localhost test6]# ll
总计
---xr--r-- root mail - : linklog.log
---xr--r-- mail users - : log2012.log
-rw-r--r-- mail users - : log2013.log
-rw-r--r-- root mail - : log2014.log
-rw-r--r-- root mail - : log2015.log
-rw-r--r-- root mail - : log2016.log
-rw-r--r-- root mail - : log2017.log
[root@localhost test6]#

linux命令学习笔记(32):gzip命令的更多相关文章

  1. linux命令学习笔记( 2 ) : cd 命令

    Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的. 所以,学习Linux 常用命令,首先就要学好 cd 命令的使用方法技巧. . 命 ...

  2. linux命令学习笔记( 7 ) : mv 命令

    mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令, 经常用来备份文件或者目录. .命令格式: mv [选项] 源文件或目 ...

  3. linux命令学习笔记(62)-curl命令-url下载工具

    linux curl是一个利用URL规则在命令行下工作的文件传输工具.它支持文件的上传和下载,所以是综合 传输工具,但按传统,习惯称url为下载工具. 一,curl命令参数,有好多我没有用过,也不知道 ...

  4. Linux基础学习笔记以及常用命令

    1.windows自带命令进入mysql所在磁盘   2.进入mysql安装目录的bin文件 D:\>cd D:\Program Files (x86)\mysql-5.5.25-winx64\ ...

  5. Linux命令学习笔记目录

    Linux命令学习笔记目录 最近正在使用,linux,顺便将用到的命令整理了一下. 一. 文件目录操作命令: 0.linux命令学习笔记(0):man 命令 1.linux命令学习笔记(1):ls命令 ...

  6. linux基础命令学习笔记(二)

    linux基础命令学习笔记(二) 1.kill :终止进程  kill pid (唯一标示一个进程) kill -9  强制终止  kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...

  7. linux命令学习笔记(25):linux文件属性详解

    Linux 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组. 最近访问或修改的时间等内容.具体情况如下: 命令: ls -lih 输出: [root@loc ...

  8. TCP/IP协议学习之实例ping命令学习笔记

    TCP/IP协议学习之实例ping命令学习笔记(一) 一. 目的为了让网络协议学习更有效果,在真实网络上进行ping命令前相关知识的学习,暂时不管DNS,在内网中,进行2台主机间的ping命令的整个详 ...

  9. 【Redis】命令学习笔记——键(key)(20个超全字典版)

    安装完redis和redis-desktop-manager后,开始学习命令啦!本篇基于redis 4.0.11版本,从对键(key)开始挖坑! 准备工作,使用db1(默认db0,由于之前练习用db0 ...

  10. 学习笔记之shell命令

    linux shell命令学习笔记:~这里只是对自己一些常用但是不熟悉的的命令进行记录 -------------------------------------------------------- ...

随机推荐

  1. Laravel 5.4的本地化

    简介 Laravel 的本地化功能提供方便的方法来获取多语言的字符串,让你的网站可以简单的支持多语言. 语言包存放在 resources/lang 目录下的文件里.在此目录中应该有应用对应支持的语言并 ...

  2. 网络工具的瑞士军刀netcat

    这是一个聒噪的夜晚,假设要给出个原因.可能是由于尽管我认为西班牙不纯粹,可是怎么也不至于干为人家搭台面自己不唱戏的角色吧..结束以后.我认为该玩一下素有网络瑞士军刀之称谓的netcat了. 尽管瑞士军 ...

  3. 把握linux内核设计思想(二):硬中断及中断处理

    [版权声明:尊重原创.转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途] 操作系统负责管理硬件设备.为了使系统和硬件设备的协同工作不减少机器性能.系统和 ...

  4. android 用webView作为编辑器 各种问题

    1.首先我要说明一下为什么要写这个博客,因为公司最近需要一个自定义的编辑器,苦于没有思路在网上找了好久,看到了好多android实现的编辑器(其实也就那么几个并不多),公司需求和网页端同步共享创建的文 ...

  5. js new一个函数和直接调用函数的差别

    用new和调用一个函数的差别:假设函数返回值是一个值类型(Number.String.Boolen)时,new函数将会返回这个函数的实例对象.而假设这个函数的返回值是一个引用类型(Object.Arr ...

  6. leetCode 90.Subsets II(子集II) 解题思路和方法

    Given a collection of integers that might contain duplicates, nums, return all possible subsets. Not ...

  7. ASP.NET动态网站制作(2)--css(1)

    前言:这节课主要讲关于css的相关内容. 重点:1.css(Cascading Style Sheet)叠层样式表,做网页的外观,是用来控制网页样式并允许将样式信息与网页内容分离的一种标记性语言. 2 ...

  8. cocos2d-x 3.2 for wp8-xaml应用商店提交应用时出现的API错误(不能用CreateEventExA)解决的方法

    好不easy做完一个游戏.提交到商店显示"本地API不支持CreateEventExA"之类的错误提示 于是我在整个解决方式里查找CreateEventExA,发现没有,却在Aud ...

  9. 开发及应用中 Linux与Window 取舍

    Linux是开源的,而Windows不是.这个也是Linux与Windows之间最大的差异.一般来说,开源似乎收到了更多系统管理员的亲睐,而开源的软件似乎更受个人电脑用户的欢迎.两种类型之间有很多不同 ...

  10. EasyPlayer_Android RTSP安卓播放器直播画面卡在第一帧问题修复

    最近发现某些Android安卓手机在运行EasyPlayer播放视频时,会停留在第一帧画面,虽然有码率预示着接收端没有问题,但是画面却卡着不动. 一般来讲,这个现象有三种原因导致: 没有接收到视频帧; ...