## **cpio命令**
`cpio`命令主要是用來建立或者還原備份檔的工具程序,`cpio`命令可以復制文件到歸檔包中,或者從歸檔包中復制文件。
### 實例
**將`/etc`下的所有普通文件都備份到`/opt/etc.cpio`,使用以下命令:**
> find /etc –type f | cpio –ocvB >/opt/etc.cpio
**將系統上所有資料備份到磁帶機內,使用以下命令: **
> find / -print | cpio -covB > /dev/st0
這里的`/dev/st0`是磁帶的設備名,代表SCSI磁帶機。
**查看上例磁帶機上備份的文件,使用以下命令: **
> cpio -icdvt < /dev/st0 > /tmp/st_content
有時可能因為備份的文件過多,一個屏幕無法顯示完畢,此時我們利用下面命令,讓磁帶機的文件信息輸出到文件。
**將示例1中的備份包還原到相應的位置,如果有相同文件進行覆蓋,使用以下命令:**
> cpio –icduv < /opt/etc.cpio
注意,`cpio`恢復的路徑,如果`cpio`在打包備份的時候用的是絕對路徑,那么在恢復的時候會自動恢復到這些絕對路徑下,本例就會將備份文件全部還原到`/etc`路徑下對應的目錄中。同理,如果在打包備份用的是相對路徑,還原時也將恢復到相對路徑下。
通過上面的示例,可以看出,`cpio`無法直接讀取文件,它需要每個文件或者目錄的完整路徑名才能識別讀取,而`find`命令的輸出剛好做到了這點,因此,`cpio`命令一般和find命令配合使用。其實,上面的示例我們已經看到了它們的組合用法。
>來自: http://man.linuxde.net/cpio