綠(lǜ)色資源網:您身邊最放心的安(ān)全下載站! 最新(xīn)軟件|熱門排行|軟件分類|軟件專題|廠商大全

綠(lǜ)色資源網

技術教程
您的位置:首頁服務器類Linux服務器 → Linux下(xià)打包(bāo)命令的(de)使用

Linux下打包命令的使用

我要評論 2009/04/14 01:55:35 來源:綠色資源網 編輯:編輯整理 [ ] 評論:0 點擊(jī):498次

  本(běn)人在Unix係統業務使用(yòng)(特別是(shì)數據管(guǎn)理與備份)中,經過一番研究、整理後,充分利用Unix係統本身的命令tar、cpio和compress等來做到打包和壓縮,使之充當類似DOS下的壓縮軟件,同時在Unix係統中亦具有通用性(xìng)。

  在Unix係(xì)統中,是先通過cpio或tar將眾多的文件打包成一個文件庫後,再用(yòng)compress將文件庫壓(yā)縮來達到目的的。下麵分別(bié)以cpio和(hé)tar來說明使(shǐ)用的方法和步驟(zhòu)。

  一、cpio

  1.文件或目錄打包。

  打包有如下多種情況:

  A)含子目錄打(dǎ)包:

  find /usr/lib -print|cpio -o〉/u0/temp1.cpio

  將/usr /lib目錄下的文件與子目(mù)錄打包成一個文件庫為/u0/temp1.cpio。

  若通過-o選項來打包整個目錄下的所有文件與子目錄,常先利用find目錄名-print來找出所有文件與子目錄的名稱,通過管道“|”傳給cpio打包。

  B)不含(hán)子目錄的(de)打包:

  ls /usr/lib|cpio -o〉/u0/temp1.cpio

  將/usr/lib目錄(lù)下(xià)的文件(不含子目錄下的文件)打包成一個文件庫為(wéi)/u0/temp1.cpio。

  C)特定(dìng)文件打包:

  可利用文本搜索命令grep與管道配(pèi)合,可以排除或選擇(zé)特定類型的(de)文件傳給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 ,其意為找出(chū)/usr/lib目錄下文件名中含有abcd字(zì)符的文件予以打包(bāo)。

  ls /usr/lib|grep -v abcd|cpio -o〉/u0/temp1.cpio,其意為找出/usr/lib目錄下文件名中不含 abcd 字(zì)符的文件予以打包。-v選項在grep命令中的意思是排除含有字符串的行列。

  如此,可充分利用Unix的管道和一些命令的強大功能(néng)來實現文件的(de)打包。

  2.壓縮:

  文件打包完成後,即可用Unix中的compress命令(/usr/bin下)壓縮打包文件(jiàn)。對一般的文本文件,壓縮率(lǜ)較高,可達81%。

  compress /u0/temp1.cpio則將文件庫/u0/temp1.cpio壓縮為/u0/temp1.cpio.Z(自動添加.Z並刪除/u0/temp1.cpio )。

  3.解壓:

  uncompress /u0/temp1.cpio.Z則自動還原為/u0/temp1.cpio。

  4.解包展開:

  將按原目錄結構解包展開到當前所在目錄下。若以(yǐ)相對路徑打包的(de),當解包展開時,也是以相對路徑存放展開的文件數據;若以絕對路徑打包的,當解包展開時,也是以絕對(duì)路徑存放展開的文件數據。因此注(zhù)意若為相對路徑,應先進入相應的(de)目(mù)錄下再展開。

   cd /u1

   cpio -id〈/u0/tmp1.cpio則將/u0/temp1.cpio解壓到/u1下(這裏假設temp1.cpio以相(xiàng)對(duì)路徑(jìng)壓縮)。

  若加u選項,如cpio -iud〈/u0/temp1.cpio則文(wén)件若存在將被覆蓋,即強製(zhì)覆蓋(gài)。

  cpio -id〈/u0/temp1.cpio *.c 則展開其中的*.c文件,類(lèi)似於DOS係(xì)統中的Pkzip軟件中Pkunzip -d temp1.zip解包功(gōng)能。

  5.顯示:

  cpio -it〈/u0/temp1.cpio [*.c] 顯示文件庫內的文件名(míng)稱,類(lèi)似於DOS係統中的Pkzip軟件中(zhōng)Pkunzip -vbnm temp1.zip功能。

  二、tar

  1.文(wén)件(jiàn)或目錄打包:

  tar -cvf /u0/temp2.tar /usr/lib

  將(jiāng)/usr/lib目(mù)錄下的文件與子目錄打包成一個文件庫為/u0/temp2.tar。

  tar -cvf /u0/temp2.tar /usr/lib *.c *.f

  將/usr/lib目錄下(xià)的*.c *.f等文件(不含子目錄)打包。

  注意:如果指定文件如*.c *.f或*.*,則打(dǎ)包時均不含子目錄(lù)。如果指定為.或*,則含子目錄。

  2.壓縮:

  同上:compress /u0/temp2.tar壓縮為/u0/temp2.tar.Z

  3.解壓:

  uncompress /u0/temp2.tar.Z則還原為/u0/temp2.tar。

  4.解包展開:

  tar -xvf /u0/temp2.tar

  若以相對路徑打包的,解(jiě)包時(shí),以相對路徑存放展開的文件數據;若以絕對路徑打包的,解包時,以絕對(duì)路徑存放展開的文件數據。

  若指定展開的文件名,須注意(yì)文件的目錄路徑。

  5.顯示:

  tar -tvf /u0/temp2.tar 顯示文件庫內的文件名稱。當指定文件名時,亦須(xū)注意文件的路徑。

  相對來說這兩個命令各有優缺點。

  1)tar速度比cpio慢,且不能跨越兩份存儲(chǔ)媒體,但文件格式幾(jǐ)乎在所有的(de)Unix係統中都能通用,且使用簡便。

  2)cpio則由於可通過管道功能,使得其打包時的文(wén)件(jiàn)選擇、排除功能非(fēi)常強,且能跨越多份媒體,並能備份特殊的係統文件。

  另外,壓縮命令compress比DOS下的Pkzip的壓縮率要低些。經測試,在(zài)一個(gè)目錄(lù)下527個文本文(wén)件共15.7MB,在Unix打包後用compress壓縮,大小為 2.1MB;相同的文件拷到DOS係統用Pkzip壓縮,則大小為(wéi)1.4MB。

關鍵詞:Linux

閱讀本文後您有什麽感想? 已有 人給出(chū)評價!

  • 3 歡迎喜歡
  • 4 白癡
  • 4 拜托
  • 4 哇
  • 15 加油
  • 39 鄙視
免费人欧美成又黄又爽的视频丨一本色道久久88综合日韩精品丨国产专区日韩精品欧美色丨午夜无遮挡男女啪啪视频丨国产欧美日韩综合精品一区二区丨亚洲精品无码不卡在线播HE丨亚洲精品国产精品国自产观看丨日韩国产高清av不卡