日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux基础命令---cpio

發布時間:2023/12/15 linux 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux基础命令---cpio 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

cpio

從歸檔中復制文件,或者復制文件到歸檔中。此命令的適用范圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

Cpio命令有三種工作模式:

1)copy-out mode,cpio指令將文件復制到歸檔。它讀取標準輸入上的文件名列表(每行一個),將歸檔包寫到標準輸出。

2)copy-in mode,cpio指令從歸檔中復制文件,從標準輸入讀取歸檔包。

3)cpio-pass mode,從目錄樹復制文件到另一個目錄,它從標準輸入中讀取要復制的文件列表。

?

1、語法

cpio?-o?namelist??> archive?

cpio??-i??<??archive

cpio??-p??dst-dir?< namelist

?

2、選項列表

選項

說明

-? | --help

幫助信息

--version

顯示命令版本信息

主操作模式


-i | --extract

從包中提取文件,copy-in模式

-o | --create

創建包,copy-out模式

-p | --pass-through

運行copy-pass模式

-t | --list

打印輸入內容列表

-l | --list

對于每一個壓縮的文件,列出壓縮文件大小、解壓大小、壓縮比列、壓縮前的文件名字

應用在所有模式的選項


-B

設置IO塊的大小為5120字節

-c

使用老式跨平臺的歸檔格式

-f

僅拷貝不匹配任意給定模式的文件

-F

用文件名代替標準輸入和輸出

-n | --numeric-uid-gid

在內容列表的詳細信息中顯示uid和gid

--quite

不打印以拷貝的塊數

-v | --verbose

詳細信息

-V | -dot

每處理一個文件就打印一個“.”

應用于copy-in的徐昂想


-b | --swap


-r | --rename

交互式重命名

-E

把指定文件的內容當做匹配字符串

應用于copy-out的選項


-A | --append

追加到文檔的結尾

-O

使用包文件名,而不是標準輸入輸出

應用于copy-pass的選項


-l | --link

在執行時盡可能創建鏈接,而不是復制文件

應用于copy-in和copy-out


--absolute-filenames

文件名不出去文件系統前綴

--no-absolute-filenames

當前目錄創建所有文件

應用于copy-out和copy-pass


-0 | --null

輸入文件名以null字符結尾

-a | --reset-access-time

文件讀取后,還原文件的訪問時間

-I

從文件讀入

-R | --owner

設置所有文件的組合用戶信息

應用于copy-in和copy-pass


-d

必要時創建目錄

-m

創建文件是,保留文件修改時間屬性

-u

無條件覆蓋

?

3、例子代碼

% ls | cpio -ov > directory.cpio

歸檔當前目錄下的內容,并且制定輸出文件

% find . -print -depth | cpio -ov > tree.cpio

存檔整個目錄樹,find命令可以將文件列表提供給cpio。這將獲取當前目錄中的所有文件,以及下面的目錄,并將它們放置在歸檔目錄tree.cpio

% cpio -iv < directory.cpio

這將檢索存檔在文件directory.cpio中的文件,并將它們放在當前目錄中

% cpio -idv < tree.cpio

這將獲取存檔tree.cpio的內容,并將其解壓縮到當前目錄。

% find . -depth -print0 | cpio --null -pvd new-dir

將當前目錄的文件和子目錄復制到一個名為new-dir的新目錄中

?

4、實例

1)將當前目錄歸檔

[root@localhost weijie]#?ls | cpio -o > mybak???????????//ls的輸出定向到cpio,然后歸檔

1?

[root@localhost weijie]#?ls

11.c??1.c??2.c?3.c??4.c??5.c?6.c??mybak

2)從歸檔中提取文件

[root@localhost weijie]#?cpio -i < mybak???????????????????//從歸檔中提取

cpio:?未創建?11.c:已有更新或同樣新的版本存在

cpio:?未創建?5.c:已有更新或同樣新的版本存在

cpio:?未創建?6.c:已有更新或同樣新的版本存在

cpio:?未創建?mybak:已有更新或同樣新的版本存在

1?

[root@localhost weijie]#?ls

11.c??1.c??2.c??3.c??4.c??5.c??6.c??mybak

3)拷貝文件

[root@localhost weijie]#?cat list.c?

1.c

2.c

3.c

[root@localhost weijie]#?cpio -p bak/ < list.c??????????//list.c中的內容當做文件列表,然后拷貝到bak目錄

cpio:?忽略空行

1?

[root@localhost weijie]#?ls bak/

1.c??2.c??3.c

?


轉載于:https://blog.51cto.com/9888479/2330267

總結

以上是生活随笔為你收集整理的Linux基础命令---cpio的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。