在DOS或Windows下,有各種壓縮與解壓縮工具軟件,其主要功能是將一目錄下的眾多文件或子目錄打包並壓縮成一個文件,便於備份、組織與管理。而在Unix系統中,卻無此類能打包並同時壓縮的工具。
在Unix系統中,充分利用Unix系統本身的命令tar、cpio和compress等來做到打包和壓縮,使之充當類似DOS下的壓縮軟件,同時在Unix系統中亦具有通用性。
在Unix系統中,是先通過cpio或tar將眾多的文件打包成一個文件庫後,再用compress將文件庫壓縮來達到目的的。下面分別以cpio和tar來說明使用的方法和步驟。
一、Unix系統cpio
Unix系統壓縮:
文件打包完成後,即可用Unix中的compress命令(/usr/bin下)壓縮打包文件。對一般的文本文件,壓縮率較高,可達81%。
compress /u0/temp1.cpio則將文件庫/u0/temp1.cpio壓縮為/u0/temp1.cpio.Z(自動添加.Z並刪除/u0/temp1.cpio )。
Unix系統解壓:
uncompress /u0/temp1.cpio.Z則自動還原為/u0/temp1.cpio。
Unix系統解包展開:
將按原目錄結構解包展開到當前所在目錄下。若以相對路徑打包的,當解包展開時,也是以相對路徑存放展開的文件數據;若以絕對路徑打包的,當解包展開時,也是以絕對路徑存放展開的文件數據。因此注意若為相對路徑,應先進入相應的目錄下再展開。
cd /u1
cpio -id〈/u0/tmp1.cpio則將/u0/temp1.cpio解壓到/u1下(這裡假設temp1.cpio以相對路徑壓縮)。
若加u選項,如cpio -iud〈/u0/temp1.cpio則文件若存在將被覆蓋,即強制覆蓋。
cpio -id〈/u0/temp1.cpio *.c 則展開其中的*.c文件,類似於DOS系統中的Pkzip軟件中Pkunzip -d temp1.zip解包功能。
5.顯示:
cpio -it〈/u0/temp1.cpio [*.c] 顯示文件庫內的文件名稱,類似於DOS系統中的Pkzip軟件中Pkunzip -vbnm temp1.zip功能。
Unix系統中,我們就關於cpio的知識就講解到這裡。