Linux常见压缩命令 - gzip,zcat,bzip2,bzcat
几个常见的压缩文件扩展名
*.Z compress 程序压缩的文件。 *.gz gzip 程序压缩的文件。 *.bz2 bzip2 程序压缩的文件; *.tar tar 程序打包的数据,并没有压缩过; *.tar.gz tar 程序打包的文件,当中而且经过 gzip 的压缩 *.tar.bz2 tar 程序打包的文件。当中而且经过 bzip2 的压缩 |
compress
[root@www ~]# yum install ncompress base 100% |=========================| 1.1 kB 00:00 updates 100% |=========================| 951 B 00:00 addons 100% |=========================| 951 B 00:00 extras 100% |=========================| 1.1 kB 00:00 Setting up Install Process Parsing package install arguments Resolving Dependencies <==開始分析相依性 --> Running transaction check ---> Package ncompress.i386 0:4.2.4-47 set to be updated --> Finished Dependency Resolution Dependencies Resolved ======================================================= Package Arch Version Repository Size ======================================================= Installing: ncompress i386 4.2.4-47 base 23 k Transaction Summary ======================================================= Install 1 Package(s) <==最后分析所要安装的软件数 Update 0 Package(s) Remove 0 Package(s) Total download size: 23 k Is this ok [y/N]: y <==这里请按下 y 来确认安装 Downloading Packages: (1/1): ncompress-4.2.4-47 100% |=========================| 23 kB 00:00 warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897 Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key) <centos-5-key@centos.org>" from http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 Is this ok [y/N]: y <==这里则是与数码签章有关 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing: ncompress ######################### [1/1] Installed: ncompress.i386 0:4.2.4-47 Complete! |
[root@www ~]# compress [-rcv] 文件或文件夹 <==这里是压缩 [root@www ~]# uncompress 文件.Z <==这里是解压缩 选项与參数: -r :能够连同文件夹下的文件也同一时候给予压缩呢! -c :将压缩数据输出成为 standard output (输出到萤幕) -v :能够秀出压缩后的文件资讯以及压缩过程中的一些档名变化。 范例一:将 /etc/man.config 拷贝到 /tmp ,并加以压缩 [root@www ~]# cd /tmp [root@www tmp]# cp /etc/man.config . [root@www tmp]# compress -v man.config man.config: -- replaced with man.config.Z Compression: 41.86% [root@www tmp]# ls -l /etc/man.config /tmp/man* -rw-r--r-- 1 root root 4617 Jan 6 2007 /etc/man.config <==原有文件 -rw-r--r-- 1 root root 2684 Nov 10 17:14 /tmp/man.config.Z <==经过压缩的文件! |
不知道你有没有发现,拷贝到 /tmp 的 man.config 不见了。由于被压缩成为 man.config.Z 罗 也就是说。在默认的情况中。被 compress 压缩的原始文件会不见。而压缩文件会被创建起来。 并且扩展名会是 *.Z。细致看一下,文件由原本的 4617bytes 降低到 2684bytes左右。确实有降低一点。
范例二:将刚刚的压缩档解开 [root@www tmp]# uncompress man.config.Z [root@www tmp]# ll man* -rw-r--r-- 1 root root 4617 Nov 10 17:14 man.config |
范例三:将 man.config 压缩成另外一个文件来备份 [root@www tmp]# compress -c man.config > man.config.back.Z [root@www tmp]# ll man* -rw-r--r-- 1 root root 4617 Nov 10 17:14 man.config -rw-r--r-- 1 root root 2684 Nov 10 17:24 man.config.back.Z # 这个 -c 的选项比較有趣!他会将压缩过程的数据输出到萤幕上,而不是写入成为 # *.Z 的压缩档。所以。我们能够透过数据流重导向的方法将数据输出成为还有一个档名。 # 关於数据流重导向,我们会在第十一章 bash 具体谈论的啦! |
再次强调。compress 已经非常少人在使用了,由于这支程序无法解开 *.gz 的文件,而 gzip 则能够解开 *.Z 的文件, 所以,假设你的 distribution 上面没有 compress 的话。那就不要进行上面的练习。
gzip,zcat
[root@www ~]# gzip [-cdtv#] 档名 [root@www ~]# zcat 档名.gz 选项与參数: -c :将压缩的数据输出到萤幕上。可透过数据流重导向来处理。 -d :解压缩的參数; -t :能够用来检验一个压缩档的一致性~看看文件有无错误; -v :能够显示出原文件/压缩文件的压缩比等资讯; -# :压缩等级,-1 最快。可是压缩比最差、-9 最慢,可是压缩比最好! |
范例二:由於 man.config 是文字档,请将范例一的压缩档的内容读出来!
|
bzip2,bzcat
[root@www ~]# bzip2 [-cdkzv#] 档名 [root@www ~]# bzcat 档名.bz2 选项与參数: -c :将压缩的过程产生的数据输出到萤幕上。 -d :解压缩的參数 -k :保留原始文件,而不会删除原始的文件喔。 -z :压缩的參数 -v :能够显示出原文件/压缩文件的压缩比等资讯; -# :与 gzip 相同的,都是在计算压缩比的參数, -9 最佳, -1 最快! 范例一:将刚刚的 /tmp/man.config 以 bzip2 压缩 [root@www tmp]# bzip2 -z man.config # 此时 man.config 会变成 man.config.bz2 ! |