使用Unix操作系統(tǒng)打包命令
我們?cè)赨nix操作系統(tǒng)業(yè)務(wù)使用(特別是數(shù)據(jù)管理與備份)中,經(jīng)過(guò)一番研究、整理后,充分利用Unix操作系統(tǒng)本身的命令tar、cpio和compress等來(lái)做到打包和壓縮,使之充當(dāng)類似DOS下的壓縮軟件,同時(shí)在Unix操作系統(tǒng)中亦具有通用性。
在Unix操作系統(tǒng)中,是先通過(guò)cpio或tar將眾多的文件打包成一個(gè)文件庫(kù)后,再用compress將文件庫(kù)壓縮來(lái)達(dá)到目的的。下面以cpio來(lái)說(shuō)明使用的方法和步驟。
1.Unix操作系統(tǒng)文件或目錄打包。打包有如下多種情況:
A)含子目錄打包:
將/usr /lib目錄下的文件與子目錄打包成一個(gè)文件庫(kù)為/u0/temp1.cpio。若通過(guò)-o選項(xiàng)來(lái)打包整個(gè)目錄下的所有文件與子目錄,常先利用find目錄名-print來(lái)找出所有文件與子目錄的名稱,通過(guò)管道“|”傳給cpio打包。
B)不含子目錄的打包:
將/usr/lib目錄下的文件(不含子目錄下的文件)打包成一個(gè)文件庫(kù)為/u0/temp1.cpio。
C)特定文件打包:
可利用文本搜索命令grep與管道配合,可以排除或選擇特定類型的文件傳給cpio打包。意思均為找出/usr/lib目錄下以.c結(jié)尾的文件予以打包。
又如:ls /usr/lib|grep abcd|cpio -o〉/u0/temp1.cpio ,其意為找出/usr/lib目錄
下文件名中含有abcd字符的文件予以打包。
ls /usr/lib|grep -v abcd|cpio -o〉/u0/temp1.cpio,其意為找出/usr/lib目錄下文件名中不含 abcd 字符的文件予以打包。-v選項(xiàng)在grep命令中的意思是排除含有字符串的行。如此,可充分利用Unix操作系統(tǒng)的管道和一些命令的強(qiáng)大功能來(lái)實(shí)現(xiàn)文件的打包。
2.Unix操作系統(tǒng)壓縮:
文件打包完成后,即可用Unix操作系統(tǒng)中的compress命令(/usr/bin下)壓縮打包文件。對(duì)一般的文本文件,壓縮率較高,可達(dá)81%。
compress /u0/temp1.cpio則將文件庫(kù)/u0/temp1.cpio壓縮為/u0/temp1.cpio.Z(自動(dòng)添加.Z并刪除/u0/temp1.cpio )。
3.Unix操作系統(tǒng)解壓:
uncompress /u0/temp1.cpio.Z則自動(dòng)還原為/u0/temp1.cpio。
4.Unix操作系統(tǒng)解包展開(kāi):
將按原目錄結(jié)構(gòu)解包展開(kāi)到當(dāng)前所在目錄下。若以相對(duì)路徑打包的,當(dāng)解包展開(kāi)時(shí),也是以相對(duì)路徑存放展開(kāi)的文件數(shù)據(jù);若以絕對(duì)路徑打包的,當(dāng)解包展開(kāi)時(shí),也是以絕對(duì)路徑存放展開(kāi)的文件數(shù)據(jù)。因此注意若為相對(duì)路徑,應(yīng)先進(jìn)入相應(yīng)的目錄下再展開(kāi)。
cpio -id〈/u0/tmp1.cpio則將/u0/temp1.cpio解壓到/u1下(這里假設(shè)temp1.cpio以相對(duì)路徑壓縮)。若加u選項(xiàng),如cpio -iud〈/u0/temp1.cpio則文件若存在將被覆蓋,即強(qiáng)制覆蓋。
cpio -id〈/u0/temp1.cpio *.c 則展開(kāi)其中的*.c文件,類似于DOS系統(tǒng)中的Pkzip軟件中Pkunzip -d temp1.zip解包功能。
5.Unix操作系統(tǒng)顯示:
cpio -it〈/u0/temp1.cpio [*.c] 顯示文件庫(kù)內(nèi)的文件名稱,類似于DOS系統(tǒng)中的Pkzip 軟件中Pkunzip -vbnm temp1.zip功能。
關(guān)于Unix操作系統(tǒng)的打包的命令cpio我們就講到這里,以后我們有機(jī)會(huì)的話會(huì)對(duì)另外一個(gè)命令來(lái)講解的。
【編輯推薦】