【Unix/Linux】【命令】【檔案,目錄操作工具】複製檔案或目錄——cp命令
阿新 • • 發佈:2019-01-09
cp命令用來複制檔案或者目錄,是Linux系統中最常用的命令之一。
一般情況下,shell會設定一個別名,在命令列下複製檔案時,如果目標檔案已經存在,就會詢問是否覆蓋,不管你是否使用-i引數。但是如果是在shell指令碼中執行cp時,沒有-i引數時不會詢問是否覆蓋。這說明命令列和shell指令碼的執行方式有些不同。
命令格式
cp [選項]... [-T] 源 目的
或:
cp [選項]... 源 目錄
或:
cp [選項]... -t 目錄 源
命令功能
將原始檔複製至目標檔案,或將多個原始檔複製至目標目錄。
命令引數
- -a —— 為每個已存在的目標檔案建立備份
- -f —— 如果目標檔案無法開啟則將其移除並重試(當 -n 選項存在時則不需再選此項)
- -i —— 覆蓋前詢問(使前面的 -n 選項失效)
- -H —— 跟隨原始檔中的命令列符號連結
- -l —— 連結檔案而不復制
- -L —— 總是跟隨符號連結
- -n —— 不要覆蓋已存在的檔案(使前面的 -i 選項失效)
- -P —— 不跟隨原始檔中的符號連結
- -p —— 模式,所有權,時間戳
- -R, -r, ——複製目錄及目錄內的所有專案
命令例項
例項1:複製單個檔案到目標目錄,檔案在目標目錄中不存在
[email protected]:~> cp log.log test
[email protected]:~> cd test
[email protected]:~/test> ll
total 4
-rw-r--r-- 1 wangxb users 5 Sep 25 12:34 log.log
[email protected]:~/test>
例項2:目標檔案存在,會詢問是否覆蓋
[email protected]:~> cp -i log.log test
cp: overwrite `test/log.log'? y
例項3:複製整個目錄 -r 引數
- 當目標資料夾存在時,
[email protected]:~> cp -r gmocompare test [email protected]:~> cd test [email protected]:~/test> ll total 4 drwxr-xr-x 4 wangxb users 4096 Sep 25 12:47 gmocompare
- 當目標資料夾不存在時,
[email protected]:~> cp -r gmocompare test
[email protected]:~> cd test
[email protected]:~/test> ll
total 8
drwxr-xr-x 4 wangxb users 4096 Sep 25 12:48 gmojar
drwxr-xr-x 4 wangxb users 4096 Sep 25 12:48 gmosrc
- 當目標資料夾存在時,整個源目錄都被拷貝到目標目錄中去;
- 當目標資料夾不存在時,只有源目錄中的內容被拷貝到目標目錄中去;