天天看點

linux 管理小指令4—— 壓縮與解壓縮下篇

原文整理自網絡:

<a target="_blank" href="http://www.cnitblog.com/flutist1225/articles/18974.html">cpio指令用法</a>

cpio指令 

    利用cpio 可将檔案或目錄從檔案庫擷取出來或将散列檔案拷貝到檔案庫。cpio 的指令格式: 

        cpio –i[bcdmrtuv] [patterns] 

        cpio –o [abcv] 

        cpio –p [adlmuv][directory] 

說明:cpio 共有三種基本模式:

-o即copy-out 模式,将一組檔案copy到一個檔案庫,

-i 即copy-in 模式,讀取檔案庫,并将其展開在目前目錄。

-p 能從某個目錄讀取所有檔案(包括子目錄到另一個目錄),且不以archive(歸檔)的方式存放。 

    cpio 常配合shell使用。-o常用标準輸入裝置讀取要copy 的檔案名稱,并将copy成的archive file 通過标準輸出裝置輸出。一般利用輸入/輸出重定向或管道的原理,達到真正複制的功能。 

(一)利用cpio備份: 

[例1] 

        $ find temo –print | cpio –ocdv &gt; /dev/rfd0135ds18 

例: find . |cpio -co &gt; ../initrd

将temp目錄下的檔案備份到軟碟上。-o表示輸出模式,-c生成一個帶有頭資訊的檔案。 -d表示按需要生成目錄,-v表示指令執行時不斷顯示資訊。用“&gt;”把結果定向到軟碟。 

[例2] 

        $ ls |cpio –o &gt;/usr/backup

将目前目錄下的所有檔案複制成backup archive file 

[例3] 

        $ ls *.c | cpio –o&gt;backup

複制工作目錄中的所有的c程式. 

[例4] 

        $ ls| cpio –p /usr/linfs/tempdir 

複制目前工作目錄下的檔案到/usr/linfs/tempdir 目錄,不生成archive  file 

(二)利用cpio 複原: 

[例5] 

        $ cpio –icdv &lt; /dev/rfd0135ds18 

例: cpio -i &lt; ../initrd将上層目錄的initrd檔案釋放到目前檔案夾

将軟碟中的檔案複原。-i告訴cpio把檔案作為它的輸入,-d按需要生成目錄,-v顯示執行時的所有資訊,-c具有頭檔案格式。 

[例6] 

        $ cpio –icdv "*stat.wp" &lt; /dev/rfd0135ds18 

僅複原*stat.wp的檔案 

[例7] 

        $ cpio –i &lt;/usr/linfs/old1 *.f 

僅複原*.f 檔案

繼續閱讀