版权声明:本文为博主原创文章,未经允许不得转载

引子

gzip是Linux系统中最常用也是高效的压缩压缩命令。早期Linux系统中主要使用compress命令压缩,得到后缀为“.Z”的压缩文件,但是后来gzip被发明出来替代了compress成为主流的压缩命令。gzip有更好的压缩比,而且能够解压“.Z”文件。后来bzip2又被发明出来,且具有比gzip更高的压缩比。不过,个人认为bzip2并不如gzip好用,因为bzip2的压缩比提升并不是很显著,但是压缩用时和CPU占用率比gzip要大很多,所以个人认为得不偿失,毕竟现在时间效率要比空间效率更宝贵。

格式:

gzip [-OPTION] [FILE or DIR]

参数:

-c:将压缩后的文件输出到标准输出。如果不想更改原始的文件,请使用此选项。

-d:解压缩

-t:检查压缩文件有无错误

-v:显示原文件名和压缩比到屏幕

-#:压缩等级,1~9级,-1最快但压缩比最低,-9最慢但压缩比最高,默认为-6

-l:   列出压缩文件的信息,并不解压.

-r:递归压缩,压缩目录下的所有文件和子目录文件

用例:

1. 直接压缩或者解压。这样原文件会被删除。

gzip -9 test.txt  #以最高压缩等级压缩生成test.txt.gz,同时删除test.txt
gzip -d test.txt.gz #解压生成test.txt,同时删除test.txt.gz

2. 如果想压缩或解压,并保留原文件,使用-c

gzip -1cv test.txt > test.txt.gz  #以最低压缩等级生成test.txt.gz,同时保留test.txt,并显示压缩信息
gzip -dc test.txt.gz > test.txt #生成test.txt,同时保留test.txt.gz

3. 查看目录下所有压缩文件的信息

gzip -l *.gz

4. gzip经常与tar合用,注意:tar只是打包命令,相当于归档,并不做压缩

tar -zcvf dirname.tar.gz dirname   #打包并压缩dirname目录, dirname被保留
tar -zxvf dianame.tar.gz #解压, dirname.tar.gz被保留

-z: 使用gzip压缩或解压

-c:创建一个归档

-v:显示进程

-f:指定文件名

-x:从归档中提取文件

-j:使用bzip2压缩或解压。所以要生成“.tar.bz2”的命令是:tar -jcvf dirname.tar.bz2 dirname

Linux命令学习(4):gzip压缩与解压的更多相关文章

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

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

  2. linux中tar命令(打包、压缩、解压)、zip和unzip、rar多种压缩文件

    一.名词解释 打包:将一大堆文件或目录变成一个总的文件[tar命令] 压缩:将一个大的文件通过一些压缩算法变成一个小文件[gzip,bzip2等] Linux中很多压缩程序只能针对一个文件进行压缩,这 ...

  3. 《OD学hadoop》在LINUX下如何将tar压缩文件解压到指定的目录下

    linux下tar命令解压到指定的目录 :#tar zxvf /bbs.tar.zip -C /zzz/bbs //把根目录下的bbs.tar.zip解压到/zzz/bbs下,前提要保证存在/zzz/ ...

  4. android与服务端通讯时使用到的GZIP压缩及解压

    为了减小android项目与服务端进行通讯时的数据流量,我们可以使用GZIP对服务端传输的数据进行压缩,在android客户端解压.或在客户端压缩,在服务端解压.代码如下: android客户端的GZ ...

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

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

  6. 【转】【Linux】Linux 下zip包的压缩与解压

    linux zip 命令详解 功能说明:压缩文件. 语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串& ...

  7. 烂泥:CentOS命令学习之tar打包与解压

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. tar命令一般是做打包和解压使用,有关tar命令的使用.我们可以通过帮助文档进行查看,如下: tar –help man tar tar有几个比较重要的 ...

  8. Linux 下zip包的压缩与解压

    linux zip 命令详解 功能说明:压缩文件. 语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串& ...

  9. 【Linux/Ubuntu学习3】解决ubuntu解压windows生成的zip文件时乱码问题

    在windows上压缩的文件,是以系统默认编码中文来压缩文件.由于zip文件中没有声明其编码,所以linux上的unzip一般以默认编码解压,中文文件名会出现乱码. 虽然2005年就有人把这报告为bu ...

随机推荐

  1. 关于MYSQL编辑乱码问题

    今天在SQLyog中编写表数据时突然出现一个bug,在此记录分享一下. 使用MySQL数据库时,讲中文插入到数据苦衷进行刷新后全部都变成了乱码问号,如下图中studentName列: 产生乱码是因为没 ...

  2. bzoj 1230: [Usaco2008 Nov]lites 开关灯【线段树】

    在线段树上记录长度.区间01翻转标记.当前1个数.传递tag的时候用长度-1个数即可 #include<iostream> #include<cstdio> using nam ...

  3. qr.update导致的java.lang.NullPointerException空指针异常

    debug以后代码走到了qr.update这一步,再向下走一步就会报错了,内容是java.lang.NullPointerException 最后再三检查发现是SQL语句写错了!,我写的是插入语句是I ...

  4. mysql 时间向减写法

    select *  from  (   select  c.OrderNumber ,    c.Name as equipmentName,     a.*,    d.Starttime, d.E ...

  5. Linux 入门学习教材

    我大约从两年前开始接触Linux,在那之前工作中用的都是MCU,arm-cortex M系列的. 从单片机转向Linux学习,经历了很多的困难,刚开始都不知道怎么去编译, 网上也没有找到基础的教程,后 ...

  6. linux 查看进程和端口

    1.进程查看 #ps aux | grep java 2.查看系统与内核相关信息 #uname [-asrmpi] 查看系统位数 # uname -m 3.查看端口 #netstat [-aatunl ...

  7. 题解报告:poj 2185 Milking Grid(二维kmp)

    Description Every morning when they are milked, the Farmer John's cows form a rectangular grid that ...

  8. 题解报告:hdu 1408 盐水的故事

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1408 Problem Description 挂盐水的时候,如果滴起来有规律,先是滴一滴,停一下:然后 ...

  9. CoreText的使用方法

    - (void)draw { CGContextRef context = UIGraphicsGetCurrentContext(); NSMutableAttributedString *attr ...

  10. 等待进程结束函数中的BUG

    偶然发现一个BUG,有一个函数是这样写的: void WaitProcExit(DWORD dwPid) { HANDLE hProcess = OpenProcess(PROCESS_ALL_ACC ...