cpio === ç¨æ¥å»ºç«ãè¿åå¤ä»½æ¡£çå·¥å ·ç¨åº ## è¡¥å 说æ **cpioå½ä»¤** ä¸»è¦æ¯ç¨æ¥å»ºç«æè è¿åå¤ä»½æ¡£çå·¥å ·ç¨åºï¼cpioå½ä»¤å¯ä»¥å¤å¶æä»¶å°å½æ¡£å ä¸ï¼æè ä»å½æ¡£å ä¸å¤å¶æä»¶ã ### è¯æ³ ```shell cpio(é项) ``` ### é项 ```shell -0æ--nullï¼æ¥åæ°å¢åæ§å¶å符ï¼é常é åfindæä»¤çâ-print0âåæ°ä½¿ç¨ï¼ -aæ--rest-access-timeï¼éæ°è®¾ç½®æä»¶çååæ¶é´ï¼ -Aæ--appendï¼éå å°å·²åå¨çå¤ä»½ææ¡£ä¸ï¼ä¸è¿ä¸ªå¤ä»½ææ¡£å¿ 须忾å¨ç£çä¸ï¼èä¸è½æ¾ç½®äºç£å¸¦æºéï¼ -bæ--awapï¼æ¤åæ°çææååæ¶æå®â-ssâåæ°ç¸åï¼ -Bï¼å°è¾å ¥/è¾åºçåºå大尿¹æ5210Bytesï¼ -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`ä¸çæææ®éæä»¶é½å¤ä»½å°`/opt/etc.cpio`ï¼ä½¿ç¨ä»¥ä¸å½ä»¤ï¼** ```shell find /etc âtype f | cpio âocvB >/opt/etc.cpio ``` **å°ç³»ç»ä¸ææèµæå¤ä»½å°ç£å¸¦æºå ï¼ä½¿ç¨ä»¥ä¸å½ä»¤ï¼** ```shell find / -print | cpio -covB > /dev/st0 ``` è¿éç`/dev/st0`æ¯ç£å¸¦ç设å¤åï¼ä»£è¡¨SCSIç£å¸¦æºã **æ¥çä¸ä¾ç£å¸¦æºä¸å¤ä»½çæä»¶ï¼ä½¿ç¨ä»¥ä¸å½ä»¤ï¼** ```shell cpio -icdvt < /dev/st0 > /tmp/st_content ``` ææ¶å¯è½å 为å¤ä»½çæä»¶è¿å¤ï¼ä¸ä¸ªå±å¹æ æ³æ¾ç¤ºå®æ¯ï¼æ¤æ¶æä»¬å©ç¨ä¸é¢å½ä»¤ï¼è®©ç£å¸¦æºçæä»¶ä¿¡æ¯è¾åºå°æä»¶ã **å°ç¤ºä¾1ä¸çå¤ä»½å è¿åå°ç¸åºçä½ç½®ï¼å¦ææç¸åæä»¶è¿è¡è¦çï¼ä½¿ç¨ä»¥ä¸å½ä»¤ï¼** ```shell cpio âicduv < /opt/etc.cpio ``` 注æï¼cpioæ¢å¤çè·¯å¾ï¼å¦æcpio卿å å¤ä»½çæ¶åç¨çæ¯ç»å¯¹è·¯å¾ï¼é£ä¹å¨æ¢å¤çæ¶åä¼èªå¨æ¢å¤å°è¿äºç»å¯¹è·¯å¾ä¸ï¼æ¬ä¾å°±ä¼å°å¤ä»½æä»¶å ¨é¨è¿åå°/etcè·¯å¾ä¸å¯¹åºçç®å½ä¸ãåçï¼å¦æå¨æå å¤ä»½ç¨çæ¯ç¸å¯¹è·¯å¾ï¼è¿åæ¶ä¹å°æ¢å¤å°ç¸å¯¹è·¯å¾ä¸ã éè¿ä¸é¢ç示ä¾ï¼å¯ä»¥çåºï¼cpioæ æ³ç´æ¥è¯»åæä»¶ï¼å®éè¦æ¯ä¸ªæä»¶æè ç®å½ç宿´è·¯å¾åæè½è¯å«è¯»åï¼èfindå½ä»¤çè¾åºå好åå°äºè¿ç¹ï¼å æ¤ï¼cpioå½ä»¤ä¸è¬åfindå½ä»¤é å使ç¨ãå ¶å®ï¼ä¸é¢çç¤ºä¾æä»¬å·²ç»çå°äºå®ä»¬çç»åç¨æ³ã