gzip、包子铺

回复 收藏
linux下gzip的压缩详解
Linux压缩保留源文件的方法:
gzip –c filename > filename.gz
Linux解压缩保留源文件的方法:
gunzip –c filename.gz > filename
gunzip的用法
1.作用
gunzip命令作用是解压文件,使用权限是所有用户。
2.格式
gunzip [-acfhlLnNqrtvV][-s ][文件...]
或者gunzip [-acfhlLnNqrtvV][-s ][目录]
3.主要参数
-a或--ascii:使用ASCII文字模式。
-c或--stdout或--to-stdout:把解压后的文件输出到标准输出设备。
-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:显示版本信息。


功能说明:.bz2文件的压缩程序。

语  法:bzip2 [-cdfhkLstvVz][--repetitive-best][--repetitive-fast][- 压缩等级][要压缩的文件]

补充说明:bzip2采用新的压缩演算法,压缩效果比传统的LZ77/LZ78压缩演算法来得好。若没有加上任何参数,bzip2压缩完文件后会产生.bz2的压缩文件,并删除原始的文件。

参  数:
 -c或--stdout  将压缩与解压缩的结果送到标准输出。
 -d或--decompress  执行解压缩。
 -f或--force  bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖,请使用此参数。
 -h或--help  显示帮助。
 -k或--keep  bzip2在压缩或解压缩后,会删除原始的文件。若要保留原始文件,请使用此参数。
 -s或--small  降低程序执行时内存的使用量。
 -t或--test  测试.bz2压缩文件的完整性。
 -v或--verbose  压缩或解压缩文件时,显示详细的信息。
 -z或--compress  强制执行压缩。
 -L,--license,
 -V或--version  显示版本信息。
 --repetitive-best  若文件中有重复出现的资料时,可利用此参数提高压缩效果。
 --repetitive-fast  若文件中有重复出现的资料时,可利用此参数加快执行速度。
 -压缩等级  压缩时的区块大小。


bzip2是 Slackware Linux里面压缩程序的另一个选择。它的压缩算法不同于gzip。与gzip 相比有其优点,也有一些缺点。bzip2的主要优点在于它压缩后文件的尺寸,对于相同文件,bzip2 压缩后的尺寸几乎总是小于gzip的压缩结果。有些时候,这个差距会相当大。这个优点对于使用小猫下载文件的用户来说表现得尤为突出。需要提醒的是,当在 一些公共ftp 服务器上下载文件时,在.gz和.bz2文件中尽量选择.bz2文件是一种基本的网络礼节,因为这样可以减少服务器的负担以给更多人服务。
bzip2的缺点在于,它占用的CPU的使用率会比gzip更多。这就是说,压缩同一个文件,bzip2要比gzip使用更长的时间,占用更多的CPU资源。所以,当你在两者之中考虑选用哪种压缩程序的时候,需要衡量的是速度和压缩后的文件尺寸哪个对你来说更重要些。

bzip2的使用方法和gzip是一样的,所以我们不再花时间讨论了。像gunzip一样,bunzip2的效果等同于bzip2 –d。与gzip最大的不同是bzip2使用后缀名.bz2.
$ bzip2 filename
$ bunzip2 filename.bz2
$ gunzip -9 filename    资料整理:www.linuxso.com

扩展资料:Linux 压缩 解压命令 tar, gzip, zcat,bzip2, bzcat,compres


Linux 压缩打包命令使用方法

tar 命令

[root@linux ~]# tar [-cxtzjvfpPN]  文件与目录  ....

参数:

-c  :建立一个压缩文件的参数指令 (create  的意思 ) ;

-x  :解开一个压缩文件的参数指令!

-t  :查看  tarfile  里面的文件!

特别注意,在参数的下达中,  c/x/t  仅能存在一个!不可同时存在!

因为不可能同时压缩与解压缩。

-z  :是否同时具有  gzip  的属性?亦即是否需要用  gzip  压缩?

-j  :是否同时具有  bzip2  的属性?亦即是否需要用  bzip2  压缩?

-v  :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!

-f  :使用档名,请留意,在  f  之后要立即接档名喔!不要再加参数!

   例如使用『  tar -zcvfP tfile sfile 』就是错误的写法,要写成

   『  tar -zcvPf tfile sfile 』才对喔!

-p  :使用原文件的原来属性(属性不会依据使用者而变)

-P  :可以使用绝对路径来压缩!

-N  :比后面接的日期 (yyyy/mm/dd) 还要新的才会被打包进新建的文件中!

--exclude FILE :在压缩的过程中,不要将  FILE  打包!

范例:

范例一:将整个  /etc  目录下的文件全部打包成为  /tmp/etc.tar

[root@linux ~]# tar -cvf /tmp/etc.tar /etc <== 仅打包,不压缩!

[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <== 打包后,以  gzip  压缩

[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc <== 打包后,以  bzip2  压缩

#  特别注意,在参数  f  之后的文件档名是自己取的,我们习惯上都用  .tar  来作为辨识。

#  如果加  z  参数,则以  .tar.gz  或  .tgz  来代表  gzip  压缩过的  tar file  ~

#  如果加  j  参数,则以  .tar.bz2  来作为附档名啊~

#  上述指令在执行的时候,会显示一个警告讯息:

#  『 tar: Removing leading `/' from member names 』那是关於绝对路径的特殊设定。


范例二:查阅上述  /tmp/etc.tar.gz  文件内有哪些文件?

[root@linux ~]# tar -ztvf /tmp/etc.tar.gz

#  由於我们使用  gzip  压缩,所以要查阅该  tar file  内的文件时,

#  就得要加上  z  这个参数了!这很重要的!


范例三:将  /tmp/etc.tar.gz  文件解压缩在  /usr/local/src  底下

[root@linux ~]# cd /usr/local/src

[root@linux src]# tar -zxvf /tmp/etc.tar.gz

#  在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说,

#  我先将工作目录变换到  /usr/local/src  底下,并且解开  /tmp/etc.tar.gz  ,

#  则解开的目录会在  /usr/local/src/etc  呢!另外,如果您进入  /usr/local/src/etc

#  则会发现,该目录下的文件属性与  /etc/  可能会有所不同喔!


范例四:在  /tmp  底下,我只想要将  /tmp/etc.tar.gz  内的  etc/passwd  解开而已

[root@linux ~]# cd /tmp

[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd

#  我可以透过  tar -ztvf  来查阅  tarfile  内的文件名称,如果单只要一个文件,

#  就可以透过这个方式来下达!注意到!  etc.tar.gz  内的根目录  /  是被拿掉了!


范例五:将  /etc/  内的所有文件备份下来,并且保存其权限!

[root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc

#  这个  -p  的属性是很重要的,尤其是当您要保留原本文件的属性时!


范例六:在  /home  当中,比  2005/06/01  新的文件才备份

[root@linux ~]# tar -N '2005/06/01' -zcvf home.tar.gz /home


范例七:我要备份  /home, /etc  ,但不要  /home/dmtsai

[root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc


范例八:将  /etc/  打包后直接解开在  /tmp  底下,而不产生文件!

[root@linux ~]# cd /tmp

[root@linux tmp]# tar -cvf - /etc | tar -xvf -

#  这个动作有点像是  cp -r /etc /tmp  啦~依旧是有其有用途的!

#  要注意的地方在於输出档变成  -  而输入档也变成  -  ,又有一个  |  存在~

#  这分别代表  standard output, standard input  与管线命令啦!

#  这部分我们会在  Bash shell  时,再次提到这个指令跟大家再解释啰!


gzip, zcat  命令

[root@linux ~]# gzip [-cdt#]  档名

[root@linux ~]# zcat  档名 .gz

参数:

-c  :将压缩的资料输出到萤幕上,可透过资料流重导向来处理;

-d  :解压缩的参数;

-t  :可以用来检验一个压缩档的一致性~看看文件有无错误;

-#  :压缩等级, -1  最快,但是压缩比最差、 -9  最慢,但是压缩比最好!预设是  -6  ~

范例:

范例一:将  /etc/man.config  複制到  /tmp  ,并且以  gzip  压缩

[root@linux ~]# cd /tmp

[root@linux tmp]# cp /etc/man.config .

[root@linux tmp]# gzip man.config

#  此时  man.config  会变成  man.config.gz  !


范例二:将范例一的文件内容读出来!

[root@linux tmp]# zcat man.config.gz

#  此时萤幕上会显示  man.config.gz  解压缩之后的文件内容!!


范例三:将范例一的文件解压缩

[root@linux tmp]# gzip -d man.config.gz


范例四:将范例三解开的  man.config  用最佳的压缩比压缩,并保留原本的文件

[root@linux tmp]# gzip -9 -c man.config > man.config.gz


bzip2, bzcat  命令

[root@linux ~]# bzip2 [-cdz]  档名

[root@linux ~]# bzcat  档名 .bz2

参数:

-c  :将压缩的过程产生的资料输出到萤幕上!

-d  :解压缩的参数

-z  :压缩的参数

-#  :与  gzip  同样的,都是在计算压缩比的参数,  -9  最佳,  -1  最快!

范例:

范例一:将刚刚的  /tmp/man.config  以  bzip2  压缩

[root@linux tmp]# bzip2 -z man.config

#  此时  man.config  会变成  man.config.bz2  !


范例二:将范例一的文件内容读出来!

[root@linux tmp]# bzcat man.config.bz2

#  此时萤幕上会显示  man.config.bz2  解压缩之后的文件内容!!


范例三:将范例一的文件解压缩

[root@linux tmp]# bzip2 -d man.config.bz2


范例四:将范例三解开的  man.config  用最佳的压缩比压缩,并保留原本的文件

[root@linux tmp]# bzip2 -9 -c man.config > man.config.bz2


compress  命令

[root@linux ~]# compress [-dcr]  文件或目录

参数:

-d  :用来解压缩的参数

-r  :可以连同目录下的文件也同时给予压缩呢!

-c  :将压缩资料输出成为  standard output ( 输出到萤幕 )

范例:

范例一:将  /etc/man.config  複制到  /tmp  ,并加以压缩



2016-05-30 14:28 举报
已邀请:

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: