在DOS或Windows下,有各種壓縮與解壓縮工具軟件,其主要功能是將一目錄下的眾多文件或子目錄打包並壓縮成一個文件,便於備份、組織與管理。而在Unix系統中,卻無此類能打包並同時壓縮的工具。
在Unix系統中,充分利用Unix系統本身的命令tar、cpio和compress等來做到打包和壓縮,使之充當類似DOS下的壓縮軟件,同時在Unix系統中亦具有通用性。
在Unix系統中,是先通過cpio或tar將眾多的文件打包成一個文件庫後,再用compress將文件庫壓縮來達到目的的。下面分別以cpio和tar來說明使用的方法和步驟。
一、cpio
1.Unix系統文件或目錄打包。
打包有如下多種情況:
A)含子目錄打包:
find /usr/lib -print|cpio -o〉/u0/temp1.cpio
將/usr /lib目錄下的文件與子目錄打包成一個文件庫為/u0/temp1.cpio。
若通過-o選項來打包整個目錄下的所有文件與子目錄,常先利用find目錄名-print來找出所有文件與子目錄的名稱,通過管道“|”傳給cpio打包。
B)不含子目錄的打包:
ls /usr/lib|cpio -o〉/u0/temp1.cpio
將/usr/lib目錄下的文件(不含子目錄下的文件)打包成一個文件庫為/u0/temp1.cpio。
C)特定文件打包:
可利用Unix系統文本搜索命令grep與管道配合,可以排除或選擇特定類型的文件傳給cpio打包。如:ls /usr/lib/*.c|cpio -o〉/u0/temp1.cpio
或ls /usr/lib|grep ′\.c$′|cpio -o〉/u0/temp1.cpio
意思均為找出/usr/lib目錄下以.c結尾的文件予以打包。
又如: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選項在grep命令中的意思是排除含有字符串的行列。
如此,可充分利用Unix系統的管道和一些命令的強大功能來實現文件的打包。
Unix系統中打包的方法,就講解到這裡了。