原文整理自網絡:
<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 > /dev/rfd0135ds18
例: find . |cpio -co > ../initrd
将temp目錄下的檔案備份到軟碟上。-o表示輸出模式,-c生成一個帶有頭資訊的檔案。 -d表示按需要生成目錄,-v表示指令執行時不斷顯示資訊。用“>”把結果定向到軟碟。
[例2]
$ ls |cpio –o >/usr/backup
将目前目錄下的所有檔案複制成backup archive file
[例3]
$ ls *.c | cpio –o>backup
複制工作目錄中的所有的c程式.
[例4]
$ ls| cpio –p /usr/linfs/tempdir
複制目前工作目錄下的檔案到/usr/linfs/tempdir 目錄,不生成archive file
(二)利用cpio 複原:
[例5]
$ cpio –icdv < /dev/rfd0135ds18
例: cpio -i < ../initrd将上層目錄的initrd檔案釋放到目前檔案夾
将軟碟中的檔案複原。-i告訴cpio把檔案作為它的輸入,-d按需要生成目錄,-v顯示執行時的所有資訊,-c具有頭檔案格式。
[例6]
$ cpio –icdv "*stat.wp" < /dev/rfd0135ds18
僅複原*stat.wp的檔案
[例7]
$ cpio –i </usr/linfs/old1 *.f
僅複原*.f 檔案