講解Unix系統(tǒng)cpio命令
我們知道Unix系統(tǒng)Cpio命令用于復制需要多個磁帶卷的文件、特殊文件或文件系統(tǒng)?;蛘?,當要將文件從運行當前的 Solaris 發(fā)行版的系統(tǒng)復制到運行 SunOS 4.0/4.1 發(fā)行版的系統(tǒng)時使用。Unix系統(tǒng)Cpio的命令參數(shù)太多,這里只介相關參數(shù)。
將目錄中的所有文件復制到磁帶。步驟如下:
1. 轉到包含要復制的文件的目錄。
2. 將可寫磁帶插入磁帶機中。
3. 將文件復制到磁帶。使用命令:
$ ls | cpio -oc > /dev/rmt/n
參數(shù)說明:ls 為 Unix系統(tǒng)Cpio 命令提供文件名列表;cpio -oc 指定 cpio 命令應該在復制出模式 (-o) 下操作,并以 ASCII 字符格式 (-c) 寫入頭信息。這些選項確??梢浦驳狡渌痰南到y(tǒng)。> /dev/rmt/n :指定輸出文件。
系統(tǒng)會將目錄中的所有文件復制到指定磁帶機中的磁帶,同時會覆寫該磁帶中的任何現(xiàn)有文件。屏幕將顯示復制的總塊數(shù)。
應用實例:
將/export/home/目錄中的所有文件復制到磁帶 :
- $ cd /export/home/kryten
- $ ls | cpio -oc > /dev/rmt/0
- 16 blocks
- $ cpio -civt < /dev/rmt/0
- -rw-r--r-- 1 root other 0 Jul 28 14:59 2004, filea
- -rw-r--r-- 1 root other 0 Jul 28 14:59 2004, fileb
- -rw-r--r-- 1 root other 0 Jul 28 14:59 2004, filec
- drwxr-xr-x 2 root other 0 Jul 28 14:59 2004, letters
- 16 blocks
從磁帶中恢復所有文件 (Unix系統(tǒng)cpio)
如果已使用相對路徑名創(chuàng)建了歸檔文件,則恢復文件時會在當前目錄中以目錄形式生成輸入文件。但是,如果已使用絕對路徑名創(chuàng)建了歸檔文件,則將使用相同的絕對路徑在系統(tǒng)中重新創(chuàng)建該文件。步驟如下:
1. 轉到要放置文件的目錄。
2. 將磁帶插入磁帶機。
3. 從磁帶中提取所有文件。 命令如下:
$ cpio -icvd < /dev/rmt/n
參數(shù)說明:-i 從標準輸入中提取文件。-c 指定 Unix系統(tǒng)cpio 命令應以 ASCII 字符格式讀取文件。-v 在以與 ls 命令輸出類似的格式恢復文件時,顯示這些文件。-d 根據(jù)需要創(chuàng)建目錄。< /dev/rmt/n 指定輸出文件。
【編輯推薦】