compress

来源:互联网 发布:如何注册新网域名 编辑:程序博客网 时间:2024/06/06 03:19

http://linux.vbird.org/linux_basic/0240tarcompress.php#compress

compress這個壓縮指令是非常老舊的一款,大概只有在非常舊的 Unix 機器上面還會找到這個軟體。 我們的 CentOS 預設並沒有安裝這個軟體到系統當中,所以想要瞭解這個軟體的使用時,請先安裝 ncompress 這個軟體。 不過,由於 gzip 已經可以解開使用 compress 壓縮的檔案,因此, compress 可以不用學習啦! 但是,如果你所在的環境還是有老舊的系統,那麼還是得要學一學就是了。好了, 如果你有網路的話,那麼安裝其實很簡單喔!

[root@www ~]# yum install ncompressbase        100% |=========================| 1.1 kB    00:00updates     100% |=========================|  951 B    00:00addons      100% |=========================|  951 B    00:00extras      100% |=========================| 1.1 kB    00:00Setting up Install ProcessParsing package install argumentsResolving Dependencies              <==開始分析相依性--> Running transaction check---> Package ncompress.i386 0:4.2.4-47 set to be updated--> Finished Dependency ResolutionDependencies Resolved======================================================= Package       Arch   Version     Repository     Size=======================================================Installing: ncompress     i386   4.2.4-47    base            23 kTransaction Summary=======================================================Install      1 Package(s)  <==最後分析所要安裝的軟體數Update       0 Package(s)Remove       0 Package(s)Total download size: 23 kIs this ok [y/N]: y    <==這裡請按下 y 來確認安裝Downloading Packages:(1/1): ncompress-4.2.4-47 100% |=========================|  23 kB    00:00warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897Importing 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-5Is this ok [y/N]: y    <==這裡則是與數位簽章有關Running rpm_check_debugRunning Transaction TestFinished Transaction TestTransaction Test SucceededRunning Transaction  Installing: ncompress          ######################### [1/1]Installed: ncompress.i386 0:4.2.4-47Complete!

關於 yum 更詳細的用法我們會在後續的章節介紹,這裡僅是提供一個大概的用法而已。 等你安裝好這個軟體後,接下來讓我們看看如何使用 compress 吧!

[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.configman.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

解壓縮直接用 uncompress 即可!解壓縮完畢後該檔案就自動的變回來了!不過,那個壓縮檔卻又不存在囉~ 這樣可以理解用法了嗎?那如果我想要保留原始檔案且又要建立壓縮檔呢?可以使用 -c 的語法!

範例三:將 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 的話,那就不要進行上面的練習囉! ^_^


0 0