Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Linux系統教程 >> Linux教程 >> Linux系統管理與維護之-cpio命令

Linux系統管理與維護之-cpio命令

日期:2017/2/7 14:36:15      編輯:Linux教程
 

功能說明:cpio命令是通過重定向的方式將文件進行打包備份,還原恢復的工具,它可以解壓以“.cpio”或者“.tar”結尾的文件。

使用格式:cpio [選項] > 文件名或者設備名
cpio [選項] < 文件名或者設備名
選項說明:詳細選項說明參看下表

選項 含義
-o 將文件拷貝打包成文件或者將文件輸出到設備上。
-i 將打包文件解壓或者將設備上的備份還原到系統。
-t 查看cpio打包的文件內容或者輸出到設備上的文件內容。
-v 顯示打包過程中的文件名稱。
-d 在cpio還原文件的過程中,自動的建立相應的目錄。
-c 一種較新的存儲方式。
-B 讓默認的Blocks可以增大到5120 bytes,默認Blocks為512 bytes,這樣做的好處是可以加快存取速度。


舉例:
1. 將/etc下的所有普通文件都備份到/opt/etc.cpio,使用以下命令:
[root@mylinux ~]# find /etc –type f | cpio –ocvB >/opt/etc.cpio
2. 將系統上所有資料備份到磁帶機內,使用以下命令:
[root@mylinux ~]# find / -print | cpio -covB > /dev/st0
#這裡的“/dev/st0”是磁帶的設備名,代表SCSI磁帶機。
3. 查看上例磁帶機上備份的文件,使用以下命令:
#有時可能因為備份的文件過多,一個屏幕無法顯示完畢,此時我們利用下面命令,讓磁帶機的文件信息輸出到文件。
[root@mylinux ~]# cpio -icdvt < /dev/st0 > /tmp/st_content
4. 將示例1中的備份包還原到相應的位置,如果有相同文件進行覆蓋,使用以下命令:

[root@mylinux ~]#cpio –icduv < /opt/etc.cpio
#注意,cpio恢復的路徑,如果cpio在打包備份的時候用的是絕對路徑,那麼在恢復的時候會自動恢復到這些絕對路徑下,本例就會將備份文件全部還原到/etc路徑下對應的目錄中。同理,如果在打包備份用的是相對路徑,還原時也將恢復到相對路徑下。
通過上面的示例,可以看出,cpio無法直接讀取文件,它需要每個文件或者目錄的完整路徑名才能識別讀取,而find命令的輸出剛好做到了這點,因此,cpio命令一般和find命令配合使用。其實,上面的示例我們已經看到了它們的組合用法。
 

Copyright © Windows教程網 All Rights Reserved