cpio是用來建立、還原備份檔的工具程式,它可以加入、解開cpio或tar備份檔内.cpio 可以從 cpio 或 tar 格式的歸檔包中存入和讀取檔案, 歸檔包是一種包含其他檔案和有關資訊的檔案。 有關資訊包括:檔案名, 屬主, 時标(timestamp), 和通路權限。 歸檔包可以是磁盤上的 其他檔案, 也可以是錄音帶或管道。
文法:
cpio [主選項] [選項] [檔案名]
cpio包括3種運作模式。
copy-ou: cpio把要備份的檔案複制到歸檔包中。
copy-in:cpio從歸檔包中抽取檔案,或者列出歸檔包裡的内容。
Pass-through:合并copy-out和copy-in指令的功能。從一個目錄向另一個目錄或從一個檔案系統向另一個檔案系統複制檔案。
主參數:
-o 或 --create 執行copy-out模式,建立備份檔
-i 或 --extract執行copy-in模式,還原備份檔。
-p 或 --pass-through 執行 pass-through模式,略過備份步驟,直接将檔案複制到目的目
錄 。
-t 或 --list 将輸入的内容呈現出來。
-v 詳細顯示指令的執行過程。
例:
一、把pic目錄下的所有檔案并歸檔到 a.cpio中
find pic | cpio -oVB > a.cpio
二、把a.cpio解壓到abc目錄中。
linux@server:~/ex$ mkdir abc
linux@server:~/ex$ cd abc
linux@server:~/ex/abc$ cpio -i < /home/linux/ex/a.cpio
三、顯示cpio文檔的内容,而不提取其内容。
cpio -vt < a.cpio
# v顯示詳細資訊,t顯示其内容,但不解壓。
四、壓縮cpio歸檔檔案
經常看到xxxx.tar.gz的壓縮檔案,此類檔案利用 gzip壓縮的,也有xxx.cpio.gz的壓縮檔案也是由gzip進行壓縮的,gzip不能對目錄檔案進行壓縮,必須先用tar或cpio把多個目錄和檔案歸檔,之後再進行壓縮。
linux@server:~/ex$ gzip a.cpio #建立壓縮
linux@server:~/ex$ ls
abc a.cpio.gz pic #生成了a.cpio.gz
五、将目前目錄下的pic目錄樹,備份到backup目錄中
kdir backup #建立這個目錄
find pic | cpio -vpd backup
#v 詳細資訊,p pass-through模式,直接複制,d用于建立子目錄
注:
1、cpio産生歸檔檔案的内容清單一般是ls,find指令的執行結果作為管道輸入。
2、cpio的參數必須指定一個主選項(o,i,p,t),告訴cpio具體做什麼。
本文轉自willis_sun 51CTO部落格,原文連結:http://blog.51cto.com/willis/1846726,如需轉載請自行聯系原作者