gzip命令

  用于将一个大的文件通过压缩算法(Lempel-Ziv coding(LZ77))变成一个小的文件。gzip命令不能直接压缩目录,因此目录需要先用tar打包成一个文件,然后tar再调用gzip进行压缩。
 
-d    解开压缩文件
-v    显示指令执行的过程
-l    列出压缩文件的内容信息
 
-c    将内容输出到标准输出,不改变原始文件
-r    对目录下的所有文件递归进行压缩操作
-数字<1-9>    指定压缩率,默认为6,值越大压缩率越高
-t    测试,检查压缩文件是否完整

把目录下的每个文件都压缩成单独的.gz文件

[root@cs6 html]# ls
10.html 1.html 2.html 3.html 4.html 5.html 6.html 7.html 8.html 9.html oldboy
[root@cs6 html]# gzip *.html
[root@cs6 html]# ls
10.html.gz 2.html.gz 4.html.gz 6.html.gz 8.html.gz oldboy
1.html.gz 3.html.gz 5.html.gz 7.html.gz 9.html.gz 不解压显示上一个例子中每个压缩文件的信息。
[root@cs6 html]# gzip -l *.gz
compressed uncompressed ratio uncompressed_name
28 0 0.0% 10.html
27 0 0.0% 1.html
27 0 0.0% 2.html
27 0 0.0% 3.html
27 0 0.0% 4.html
27 0 0.0% 5.html
27 0 0.0% 6.html
27 0 0.0% 7.html
27 0 0.0% 8.html
27 0 0.0% 9.html
[root@cs6 html]# ls
10.html.gz 2.html.gz 4.html.gz 6.html.gz 8.html.gz oldboy
1.html.gz 3.html.gz 5.html.gz 7.html.gz 9.html.gz

解压文件,并显示解压过程

[root@cs6 html]# gzip -dv *.gz        #<==使用-d参数解压文件,使用-v参数显示解压过程。
10.html.gz: 0.0% -- replaced with 10.html
1.html.gz: 0.0% -- replaced with 1.html
2.html.gz: 0.0% -- replaced with 2.html
3.html.gz: 0.0% -- replaced with 3.html
4.html.gz: 0.0% -- replaced with 4.html
5.html.gz: 0.0% -- replaced with 5.html
6.html.gz: 0.0% -- replaced with 6.html
7.html.gz: 0.0% -- replaced with 7.html
8.html.gz: 0.0% -- replaced with 8.html
9.html.gz: 0.0% -- replaced with 9.html
[root@cs6 html]# ls
10.html 1.html 2.html 3.html 4.html 5.html 6.html 7.html 8.html 9.html oldboy
[root@cs6 html]#

压缩解压保留源文件

[root@cs6 html]# cp /etc/services .
[root@cs6 html]# ll -h services
-rw-r--r--. 1 root root 626K May 13 00:29 services
[root@cs6 html]# gzip -c services >services.gz #<==使用-c 选项与输出重定向符号将输出定向到services.gz。
[root@cs6 html]# ll -h services*
-rw-r--r--. 1 root root 626K May 13 00:29 services
-rw-r--r--. 1 root root 125K May 13 00:30 services.gz #<==使用-d选项解压。
[root@cs6 html]# gzip -dc services.gz >services2
[root@cs6 html]# diff services services2 #<==对比源文件和解压后的文件,没有差别。
[root@cs6 html]# ll -h services*
-rw-r--r--. 1 root root 626K May 13 00:29 services
-rw-r--r--. 1 root root 626K May 13 00:31 services2
-rw-r--r--. 1 root root 125K May 13 00:30 services.gz

经验技巧

    虽然上面使用重定向符号解决了保留源文件的问题,但是使用起来还是不太方便,因此这里告诉大家一个好方法:gzip套件包含了许多可以“在原地”处理压缩文件的实用程序。zcat、zgrep、zless、zdiff等实用程序的作用分别与cat、grep、less和diff相同,但是它们操作的是压缩的文件。比如:

[root@cs6 html]# zcat services.gz |head
# /etc/services:
# $Id: services,v 1.48 2009/11/11 14:32:31 ovasik Exp $
#
# Network services, Internet style
# IANA services version: last updated 2009-11-10
#
# Note that it is presently the policy of IANA to assign a single well-known
# port number for both TCP and UDP; hence, most entries here have two entries
# even if the protocol doesn't support UDP operations.
# Updated from RFC 1700, ``Assigned Numbers'' (October 1994). Not all ports
[root@cs6 html]# zcat services.gz >services  #也可以直接解压出来重定向到文件。
[root@cs6 html]#

6.2 gzip:压缩或解压文件的更多相关文章

  1. AIX系统上压缩与解压文件

    压缩. 命令格式: #tar -cvf (或xvf)+文件名+设备 C:是本地到其他设备 x:是其他设备到本地 r:是追加,比如打包时,将其他文件追加进来使用该参数. t:显示tar包里的内容,但还原 ...

  2. Linux命令学习(4):gzip压缩与解压

    版权声明:本文为博主原创文章,未经允许不得转载 引子 gzip是Linux系统中最常用也是高效的压缩压缩命令.早期Linux系统中主要使用compress命令压缩,得到后缀为“.Z”的压缩文件,但是后 ...

  3. Linux学习笔记之AIX系统上压缩与解压文件

    0x00 概述 AIX机器真难用,一时半会还真适应不了.   0x01 压缩tar 命令格式: # tar -cvf (或xvf)+文件名+设备 C:是本地到其他设备 x:是其他设备到本地 r:是追加 ...

  4. C# 压缩、解压文件夹或文件(带密码)

    今天梳理一下项目中用到的压缩.解压文件夹或文件的方法,发现因为需求不同,已经用了好几个不同组件.今天就好好整理记录下,别下次遇到需求又重头开始了. DotNetZip DotNetZip是一个开源的免 ...

  5. golang tar gzip 压缩,解压(含目录文件)

    tar是用于文件归档,gzip用于压缩.仅仅用tar的话,达不到压缩的目的.我们常见的tar.gz就是用gzip压缩生成的tar归档文件. go实现tar压缩与解压与zip类似,区别在于tar需要使用 ...

  6. Linux命令(16)压缩,解压文件

    tar: 简介:tar命令只是把目录打包成一个归档(文件),并不负责压缩.在tar命令中可以带参数调用gzip或bzip2压缩.因为gzip和bzip2只能压缩单个文件. 在linux下是不需要后缀名 ...

  7. (转)使用 linux tar 命令压缩与解压文件

    原文链接 http://www.cnblogs.com/qq78292959/archive/2011/07/06/2099427.html tar -c: 建立压缩档案-x:解压-t:查看内容-r: ...

  8. C#工具类:使用SharpZipLib进行压缩、解压文件

    SharpZipLib是一个开源的C#压缩解压库,应用非常广泛.就像用ADO.NET操作数据库要打开连接.执行命令.关闭连接等多个步骤一样,用SharpZipLib进行压缩和解压也需要多个步骤.Sha ...

  9. 本地上传文件至服务器的技巧(linux文件压缩及解压文件)

    linux(ubuntu)文件解压及压缩文件 ubuntu支持文件的解压及压缩功能, 如果ubuntu上面没有安装过unzip工具的话,可以通过下面命令安装: sudo apt-get install ...

随机推荐

  1. JavaWeb 补充(XML)

    XML 1. 概念:Extensible Markup Language 可扩展标记语言 可扩展:标签都是自定义的. <user>  <student> 功能: 存储数据   ...

  2. 弦图及其在 OI 中的现代应用

    八月份的时候得知要填综评表格,综评表格里面又需要一个研究性学习报告,而我连研究性学习课的老师长啥样都不知道.于是我把两份 OI 笔记拼拼凑凑成了这篇文章充当两份研究性学习报告之一(另一份可能更有趣一些 ...

  3. 本地+分布式Hadoop完整搭建过程

    1 概述 Hadoop在大数据技术体系中极为重要,被誉为是改变世界的7个Java项目之一(剩下6个是Junit.Eclipse.Spring.Solr.HudsonAndJenkins.Android ...

  4. Jmeter(四十三) - 从入门到精通高级篇 - Jmeter之IP伪装和欺骗(详解教程)

    1.简介 我们从小接受的教育就是不要撒谎,要做一个诚实的孩子,但是在现实生活中有时候说一个善意的谎言也不是可以的.这里由于服务器各种安全机制的限制和校验,因此我们不得不欺骗一下服务器,今天宏哥就给大家 ...

  5. 【Java】String、StringBuilder和StringBuffer

    [String] 首先,从String类的定义入手,可以看到String类是由final修饰,即不可变的,一旦创建出来就不可修改,因此首先明确,字符串的拼接.截取等操作都会产生新的字符串对象. 观察以 ...

  6. 4-1 Postman脚本的应用

    前面我们讲解了在接口发送每个请求,得到响应.这是接口本身的问题.但是"请求前后"的动作,是怎么处理的?比如在发送一个请求前,需要获取当前的时间戳,或者对我们的变量进行参数化,设置变 ...

  7. php和mysql数据库防SQL注入的有效解决办法

    <?php$mysqli = new mysqli("localhost", "my_user", "my_password", &q ...

  8. 【Scrapy(二)】Scrapy 中的 Pipline,Item,Shell组件

    Pipline: 1.爬虫项目与爬虫的区别与关联: 一个爬虫项目可以包含多个爬虫,如下图中爬虫项目firstspider 包含多个爬虫itcst 和爬虫itcast1 2.多个爬虫是公用一套Pipli ...

  9. [转]自建CDN防御DDoS

    自建CDN防御DDoS(1):知己知彼,建设持久防线 前言 本议题是我们在OWASP杭州区2013年岁末年初安全沙龙中进行分享的内容,在此我们对这个议题的整体内容进行了重新归纳梳理,形成了文字版. 在 ...

  10. DLL内存加载

    动态加载dll 功能:      把一个处于内存里的dll直接加载并且使用. 用途:      免杀(静态文件查杀),外挂(防止游戏自己hook了loadlibrary等函数),以及其他. 原理:  ...