cp === å°æºæä»¶æç®å½å¤å¶å°ç®æ æä»¶æç®å½ä¸ ## è¡¥å 说æ **cpå½ä»¤** ç¨æ¥å°ä¸ä¸ªæå¤ä¸ªæºæä»¶æè ç®å½å¤å¶å°æå®çç®çæä»¶æç®å½ãå®å¯ä»¥å°åä¸ªæºæä»¶å¤å¶æä¸ä¸ªæå®æä»¶åçå ·ä½çæä»¶æä¸ä¸ªå·²ç»åå¨çç®å½ä¸ãcpå½ä»¤è¿æ¯æåæ¶å¤å¶å¤ä¸ªæä»¶ï¼å½ä¸æ¬¡å¤å¶å¤ä¸ªæä»¶æ¶ï¼ç®æ æä»¶åæ°å¿ é¡»æ¯ä¸ä¸ªå·²ç»åå¨çç®å½ï¼å¦åå°åºç°é误ã ### è¯æ³ ```shell cp(é项)(åæ°) ``` ### é项 ```shell -aï¼æ¤åæ°çææååæ¶æå®"-dpR"åæ°ç¸åï¼ -dï¼å½å¤å¶ç¬¦å·è¿æ¥æ¶ï¼æç®æ æä»¶æç®å½ä¹å»ºç«ä¸ºç¬¦å·è¿æ¥ï¼å¹¶æå䏿ºæä»¶æç®å½è¿æ¥çåå§æä»¶æç®å½ï¼ -fï¼å¼ºè¡å¤å¶æä»¶æç®å½ï¼ä¸è®ºç®æ æä»¶æç®å½æ¯å¦å·²åå¨ï¼ -iï¼è¦çæ¢ææä»¶ä¹åå 询é®ç¨æ·ï¼ -lï¼å¯¹æºæä»¶å»ºç«ç¡¬è¿æ¥ï¼èéå¤å¶æä»¶ï¼ -pï¼ä¿çæºæä»¶æç®å½ç屿§ï¼ -R/rï¼éå½å¤çï¼å°æå®ç®å½ä¸çæææä»¶ä¸åç®å½ä¸å¹¶å¤çï¼ -sï¼å¯¹æºæä»¶å»ºç«ç¬¦å·è¿æ¥ï¼èéå¤å¶æä»¶ï¼ -uï¼ä½¿ç¨è¿é¡¹åæ°ååªä¼å¨æºæä»¶çæ´æ¹æ¶é´è¾ç®æ æä»¶æ´æ°æ¶ææ¯åç§°ç¸äºå¯¹åºçç®æ æä»¶å¹¶ä¸å卿¶ï¼æå¤å¶æä»¶ï¼ -Sï¼å¨å¤ä»½æä»¶æ¶ï¼ç¨æå®çåç¼âSUFFIXâä»£æ¿æä»¶çé»è®¤åç¼ï¼ -bï¼è¦çå·²åå¨çæä»¶ç®æ åå°ç®æ æä»¶å¤ä»½ï¼ -vï¼è¯¦ç»æ¾ç¤ºå½ä»¤æ§è¡çæä½ã ``` ### åæ° * æºæä»¶ï¼å¶å®æºæä»¶å表ãé»è®¤æ åµä¸ï¼cpå½ä»¤ä¸è½å¤å¶ç®å½ï¼å¦æè¦å¤å¶ç®å½ï¼åå¿ é¡»ä½¿ç¨`-R`éé¡¹ï¼ * ç®æ æä»¶ï¼æå®ç®æ æä»¶ãå½âæºæä»¶â为å¤ä¸ªæä»¶æ¶ï¼è¦æ±âç®æ æä»¶â为æå®çç®å½ã ### å®ä¾ ä¸é¢ç第ä¸è¡ä¸æ¯ cp å½ä»¤åå ·ä½çåæ°ï¼-r æ¯âéå½âï¼ -u æ¯âæ´æ°âï¼-v æ¯â详ç»âï¼ãæ¥ä¸æ¥çä¸è¡æ¾ç¤ºè¢«å¤å¶æä»¶çä¿¡æ¯ï¼æåä¸è¡æ¾ç¤ºå½ä»¤è¡æç¤ºç¬¦ãè¿æ ·ï¼åªæ·è´æ°çæä»¶å°æçåå¨è®¾å¤ä¸ï¼æå°±ä½¿ç¨ cp çâæ´æ°âåâ详ç»âé项ã é常æ¥è¯´ï¼åæ° `-r` ä¹å¯ç¨æ´è¯¦ç»ç飿 ¼ `--recursive`ã使¯ä»¥ç®ççæ¹å¼ï¼ä¹å¯ä»¥è¿ä¹è¿ç¨ `-ruv`ã ```shell cp -r -u -v /usr/men/tmp ~/men/tmp ``` çæ¬å¤ä»½ `--backup=numbered` åæ°ææä¸ºâæè¦å个å¤ä»½ï¼è䏿¯å¸¦ç¼å·çè¿ç»å¤ä»½âãæä»¥ä¸ä¸ªå¤ä»½å°±æ¯ 1 å·ï¼ç¬¬äºä¸ªå°±æ¯ 2 å·ï¼ççã ```shell $ cp --force --backup=numbered test1.py test1.py $ ls test1.py test1.py.~1~ test1.py.~2~ ``` 妿æä¸ä¸ªæä»¶å¤å¶å°ä¸ä¸ªç®æ æä»¶ä¸ï¼èç®æ æä»¶å·²ç»åå¨ï¼é£ä¹ï¼è¯¥ç®æ æä»¶çå 容å°è¢«ç ´åãæ¤å½ä»¤ä¸ææåæ°æ¢å¯ä»¥æ¯ç»å¯¹è·¯å¾åï¼ä¹å¯ä»¥æ¯ç¸å¯¹è·¯å¾åãé常ä¼ç¨å°ç¹`.`æç¹ç¹`..`çå½¢å¼ãä¾å¦ï¼ä¸é¢çå½ä»¤å°æå®æä»¶å¤å¶å°å½åç®å½ä¸ï¼ ```shell cp ../mary/homework/assign . ``` ææç®æ æä»¶æå®çç®å½å¿ é¡»æ¯å·±ç»åå¨çï¼cpå½ä»¤ä¸è½å建ç®å½ãå¦ææ²¡ææä»¶å¤å¶çæéï¼åç³»ç»ä¼æ¾ç¤ºåºéä¿¡æ¯ã å°æä»¶fileå¤å¶å°ç®å½`/usr/men/tmp`ä¸ï¼å¹¶æ¹å为file1 ```shell cp file /usr/men/tmp/file1 ``` å°ç®å½`/usr/men`ä¸çæææä»¶åå ¶åç®å½å¤å¶å°ç®å½`/usr/zh`ä¸ ```shell cp -r /usr/men /usr/zh ``` 交äºå¼å°å°ç®å½`/usr/men`ä¸ç以mæå¤´çææ.cæä»¶å¤å¶å°ç®å½`/usr/zh`ä¸ ```shell cp -i /usr/men m*.c /usr/zh ``` æä»¬å¨Linuxä¸ä½¿ç¨cpå½ä»¤å¤å¶æä»¶æ¶åï¼ææ¶åä¼éè¦è¦çä¸äºååæä»¶ï¼è¦çæä»¶çæ¶åé½ä¼ææç¤ºï¼éè¦ä¸åçæYæ¥ç¡®å®æ§è¡è¦çãæä»¶æ°éä¸å¤è¿å¥½ï¼ä½æ¯è¦æ¯å ç¾ä¸ªä¼°è®¡æYé½è¦åè¡äºï¼äºæ¯æè ¾æ¥å天æ»ç»äºä¸ä¸ªæ¹æ³ï¼ ```shell cp aaa/* /bbb # å¤å¶ç®å½aaa䏿æå°/bbbç®å½ä¸ï¼è¿æ¶å¦æ/bbbç®å½ä¸æåaaaååçæä»¶ï¼éè¦æYæ¥ç¡®è®¤å¹¶ä¸ä¼ç¥è¿aaaç®å½ä¸çåç®å½ã cp -r aaa/* /bbb # è¿æ¬¡ä¾ç¶éè¦æYæ¥ç¡®è®¤æä½ï¼ä½æ¯æ²¡æå¿½ç¥åç®å½ã cp -r -a aaa/* /bbb # ä¾ç¶éè¦æYæ¥ç¡®è®¤æä½ï¼å¹¶ä¸æaaaç®å½ä»¥ååç®å½åæä»¶å±æ§ä¹ä¼ éå°äº/bbbã \cp -r -a aaa/* /bbb # æåï¼æ²¡ææç¤ºæYãä¼ éäºç®å½å±æ§ã没æç¥è¿ç®å½ã ``` éå½å¼ºå¶å¤å¶ç®å½å°æå®ç®å½ä¸è¦çå·²å卿件 ```shell cp -rfb ./* ../backup # å°å½åç®å½ä¸æææä»¶ï¼å¤å¶å°å½åç®å½çå å¼ç®å½ backup æä»¶å¤¹ä¸ ``` æ·è´ç®å½ä¸çéèæä»¶å¦ `.babelrc` ```shell cp -r aaa/.* ./bbb # å° aaa ç®å½ä¸çï¼ææ`.`å¼å¤´çæä»¶ï¼å¤å¶å° bbb ç®å½ä¸ã cp -a aaa ./bbb/ # è®°ä½åé¢ç®å½æå¥½ç'/' å¸¦ä¸ `-a` åæ° ```