我使用過的Linux指令之uncompress - 解壓.Z檔案
本文連結:http://codingstandards.iteye.com/blog/790830 (轉載請注明出處)
用途說明
compress指令是用來将檔案壓縮成.Z格式的,對應的uncompress是用來解壓的。Compress reduces the size of the named files using adaptive Lempel-Ziv coding. Whenever possible, each file is replaced by one with the extension .Z, while keeping the same ownership modes, access and modification times.
這個指令使用的算法因為不夠先進,在Linux下現在都采用gzip和gunzip來壓縮和解壓了。但是很多老的壓縮檔案可能是.z格式的,是以需要用到它。一般情況下,安裝好的Linux系統下可能沒有這個指令,那麼就需要到安裝盤中找到包含ncompress字元串的rpm包來進行安裝。這也是網上很多人問“在LINUX 中沒有COMPRESS這個指令”或“為什麼linux中的compress不能用”的原因了。
常用參數
因為compress和uncompress并不常用,是以參數并不太重要了,在需要時man一下就清楚了。
使用示例
示例一 壓縮檔案
[[email protected] ~]# ls -l install.log
-rw-r--r-- 1 root root 48038 10月 8 17:18 install.log
[[email protected] ~]# compress install.log
[[email protected] ~]# ls -l install.log install.log.Z
ls: install.log: 沒有那個檔案或目錄
-rw-r--r-- 1 root root 17034 10月 8 17:18 install.log.Z
[[email protected] ~]#
示例二 解壓.Z檔案
[[email protected] ss7linux]# uncompress dpklnx6.Z
-bash: uncompress: command not found
[[email protected] ss7linux]# cd /software/
[[email protected] software]# ls
disc1 disc2 disc3 disc4 ss7
[[email protected] software]# find . -name "ncompress*"
./disc4/RedHat/RPMS/ncompress-4.2.4-40.i386.rpm
[[email protected] software]# rpm -ivh ./disc4/RedHat/RPMS/ncompress-4.2.4-40.i386.rpm
warning: ./disc4/RedHat/RPMS/ncompress-4.2.4-40.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing... ########################################### [100%]
1:ncompress ########################################### [100%]
[[email protected] software]# cd /root/setup/ss7linux/
[[email protected] ss7linux]# uncompress dpklnx6.Z
<!-- [if gte mso 9]><xml><w:WordDocument><w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel><w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery><w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery><w:DocumentKind>DocumentNotSpecified</w:DocumentKind><w:DrawingGridVerticalSpacing>7.8</w:DrawingGridVerticalSpacing><w:View>Normal</w:View><w:Compatibility></w:Compatibility><w:Zoom>0</w:Zoom></w:WordDocument></xml><![endif]-->
[[email protected] ss7linux]# ls
dpklnx6
示例三 在CentOS4.8下安裝ncompress
CentOS4.8的ncompress包在第四章CD光牒中。
[[email protected] media]# pwd
/media
[[email protected] media]# mount /dev/cdrom
mount: block device /dev/hdc is write-protected, mounting read-only
[[email protected] media]# cd cdrom/
[[email protected] cdrom]# find . -name "ncompress*.rpm"
./CentOS/RPMS/ncompress-4.2.4-44.rhel4.i386.rpm
[[email protected] cdrom]# rpm -ivh ./CentOS/RPMS/ncompress-4.2.4-44.rhel4.i386.rpm
警告:./CentOS/RPMS/ncompress-4.2.4-44.rhel4.i386.rpm: V3 DSA 簽章:NOKEY, key ID 443e1821
準備中... ########################################### [100%]
1:ncompress ########################################### [100%]
[[email protected] cdrom]# cd ..
[[email protected] media]# umount /dev/cdrom
問題思考
1. compress和uncompress使用的壓縮算法的大體原理如何?
2. 是比較各種壓縮工具(compress、gzip、bzip2、tar、rar等)的效率、壓縮比率?
相關資料
【1】中國IT實驗室 Linux 指令篇:編碼壓縮打包--compress
【2】鳥哥的 Linux 私房菜 第九章、檔案與檔案系統的壓縮與打包
傳回 我使用過的Linux指令系列總目錄