您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Linux常用命令cpio怎么用的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
cpio [-0aABckLovV][-C ][-F ][-H ][-O ][--block-size=][--force-local][--help][--quiet][--version] 或 cpio [-bBcdfikmnrsStuvV][-C ][-E ][-F ][-H ][-I ][-M ][-R ][--block-size=][--force-local][--help][--no-absolute-filenames][--no-preserve-owner][--only-verify-crc][--quiet][--sparse][--version][范本樣式...] 或 cpio [-0adkiLmpuvV][-R ][--help][--no-preserve-owner][--quiet][--sparse][--version][目的目]
參數:
-0或–null 接受新增列控制字符,通常配合find指令的”-print0″參數使用。
-a或–reset-access-time 重新設置文件的存取時間。
-A或–append 附加到已存在的備份檔中,且這個備份檔必須存放在磁盤上,而不能放置于磁帶機里。
-b或–swap 此參數的效果和同時指定”-sS”參數相同。
-B 將輸入/輸出的區塊大小改成5210 Bytes。
-c 使用舊ASCII備份格式。
-C或–io-size= 設置輸入/輸出的區塊大小,單位是Byte。
-d或–make-directories 如有需要cpio會自行建立目錄。
-E或–pattern-file= 指定范本文件,其內含有一個或多個范本樣式,讓cpio解開符合范本條件的文件,格式為每列一個范本樣式。
-f或–nonmatching 讓cpio解開所有不符合范本條件的文件。
-F或–file= 指定備份檔的名稱,用來取代標準輸入或輸出,也能借此通過網絡使用另一臺主機的保存設備存取備份檔。
-H 指定備份時欲使用的文件格式。
-i或–extract 執行copy-in模式,還原備份檔。
-l 指定備份檔的名稱,用來取代標準輸入,也能借此通過網絡使用另一臺主機的保存設備讀取備份檔。
-k 此參數將忽略不予處理,僅負責解決cpio不同版本間的兼容性問題。
-l或–link 以硬連接的方式取代復制文件,可在copy-pass模式下運用。
-L或–dereference 不建立符號連接,直接復制該連接所指向的原始文件。
-m或preserve-modification-time 不去更換文件的更改時間。
-M或–message= 設置更換保存媒體的信息。
-n或–numeric-uid-gid 使用”-tv”參數列出備份檔的內容時,若再加上參數”-n”,則會以用戶識別碼和群組識別碼替代擁有者和群組名稱列出文件清單。
-o或–create 執行copy-out模式,建立備份檔。
-O 指定備份檔的名稱,用來取代標準輸出,也能借此通過網絡 使用另一臺主機的保存設備存放備份檔。
-p或–pass-through 執行copy-pass模式,略過備份步驟,直接將文件復制到目的目錄。
-r或–rename 當有文件名稱需要更動時,采用互動模式。
-R<:>或
—-owner<:> 在copy-in模式還原備份檔,或copy-pass模式復制文件時,可指定這些備份,復制的文件的擁有者與所屬群組。
-s或–swap-bytes 交換每對字節的內容。
-S或–swap-halfwords 交換每半個字節的內容。
-t或–list 將輸入的內容呈現出來。
-u或–unconditional 置換所有文件,不論日期時間的新舊與否,皆不予詢問而直接覆蓋。
-v或–verbose 詳細顯示指令的執行過程。
-V或–dot 執行指令時,在每個文件的執行程序前面加上”.”號
–block-size= 設置輸入/輸出的區塊大小,假如設置數值為5,則區塊大小為2500,若設置成10,則區塊大小為5120,依次類推。
–force-local 強制將備份檔存放在本地主機。
–help 在線幫助。
–no-absolute-filenames 使用相對路徑建立文件名稱。
–no-preserve-owner 不保留文件的擁有者,誰解開了備份檔,那些文件就歸誰所有。
-only-verify-crc 當備份檔采用CRC備份格式時,可使用這項參數檢查備份檔內的每個文件是否正確無誤。
–quiet 不顯示復制了多少區塊。
–sparse 倘若一個文件內含大量的連續0字節,則將此文件存成稀疏文件。
–version 顯示版本信息。
將 etc 目錄備份
$find ./etc -print |cpio -ov >etc.cpio
要恢復文件的時候
#cpio -idv
只是查看 etc.cpio 文件,可以使用
# cpio -tv
輸入之后,輸出如下:
drwxrwxr-x 4 quiethea quiethea 0 Nov 4 17:14 etc -rw-rw-r-- 1 quiethea quiethea 0 Nov 4 17:07 etc/2 drwxrwxr-x 2 quiethea quiethea 0 Nov 4 17:07 etc/11 -rw-rw-r-- 1 quiethea quiethea 0 Nov 4 17:07 etc/11/11 -rw-rw-r-- 1 quiethea quiethea 0 Nov 4 17:07 etc/4 drwxrwxr-x 2 quiethea quiethea 0 Nov 4 17:07 etc/22 -rw-rw-r-- 1 quiethea quiethea 0 Nov 4 17:07 etc/3 -rw-rw-r-- 1 quiethea quiethea 0 Nov 4 17:07 etc/1 -rw-rw-r-- 1 quiethea quiethea 0 Nov 4 17:07 etc/5
這樣顯示得是將要恢復得文件得名稱。
現在,內核剛剛啟動的時候,會事先掛一個 initrd 內存文件系統,這個 initrd 文件系統鏡像可以由 cpio 制作。參見內核源碼文檔 initrd.txt 。
例如我有一個非常簡單的文件系統 rootfs, 制作鏡像方法如下
$cd rootfs $find . | cpio -c -o -v |gzip -9 -n >../ramdisk.img
這樣,父目錄下會生成一個 ramdisk.img 壓縮文件系統鏡像。
將鏡像解壓恢復成文件系統的命令
$mkdir rootfs $cp ramdisk.img rootfs $cd rootfs $mv ramdisk.img ramdisk.img.gz $gunzip ramdisk.img.gz $cpio -i
這樣,當前目錄下就是原來 rootfs 中的內容了。
感謝各位的閱讀!關于“Linux常用命令cpio怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。