溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

linux下的cp命令能干嘛

發(fā)布時(shí)間:2021-08-17 10:02:57 來源:億速云 閱讀:146 作者:chen 欄目:開發(fā)技術(shù)

這篇文章主要講解了“l(fā)inux下的cp命令能干嘛”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“l(fā)inux下的cp命令能干嘛”吧!

cp命令用來復(fù)制文件或者目錄,是Linux系統(tǒng)中最常用的命令之一。一般情況下,shell會(huì)設(shè)置一個(gè)別名,在命令行下復(fù)制文件時(shí),如果目標(biāo)文件已經(jīng)存在,就會(huì)詢問是否覆蓋,不管你是否使用-i參數(shù)。但是如果是在shell腳本中執(zhí)行cp時(shí),沒有-i參數(shù)時(shí)不會(huì)詢問是否覆蓋。這說明命令行和shell腳本的執(zhí)行方式有些不同。

命令格式

cp [選項(xiàng)]… [-T] 源 目的

命令參數(shù)

-a, –archive 等于-dR –preserve=all
–backup[=CONTROL 為每個(gè)已存在的目標(biāo)文件創(chuàng)建備份

-b 類似–backup 但不接受參數(shù)
–copy-contents 在遞歸處理是復(fù)制特殊文件內(nèi)容

-d 等于–no-dereference –preserve=links

-f, –force 如果目標(biāo)文件無法打開則將其移除并重試(當(dāng) -n 選項(xiàng)
存在時(shí)則不需再選此項(xiàng))

-i, –interactive 覆蓋前詢問(使前面的 -n 選項(xiàng)失效)

-H 跟隨源文件中的命令行符號(hào)鏈接

-l, –link 鏈接文件而不復(fù)制

-L, –dereference 總是跟隨符號(hào)鏈接

-n, –no-clobber 不要覆蓋已存在的文件(使前面的 -i 選項(xiàng)失效)

-P, –no-dereference 不跟隨源文件中的符號(hào)鏈接

-p 等于–preserve=模式,所有權(quán),時(shí)間戳
–preserve[=屬性列表 保持指定的屬性(默認(rèn):模式,所有權(quán),時(shí)間戳),如果
可能保持附加屬性:環(huán)境、鏈接、xattr 等

-R, -r, –recursive 復(fù)制目錄及目錄內(nèi)的所有項(xiàng)目

命令范例

實(shí)例一:復(fù)制單個(gè)文件到目標(biāo)目錄,文件在目標(biāo)文件中不存在

命令:
cp log.log test5
輸出:

[root@localhost test]# cp log.log test5 
[root@localhost test]# ll 
-rw-r–r– 1 root root 0 10-28 14:48 log.log 
drwxr-xr-x 6 root root 4096 10-27 01:58 scf 
drwxrwxrwx 2 root root 4096 10-28 14:47 test3 
drwxr-xr-x 2 root root 4096 10-28 14:53 test5 
[root@localhost test]# cd test5 
[root@localhost test5]# ll 
-rw-r–r– 1 root root 0 10-28 14:46 log5-1.log 
-rw-r–r– 1 root root 0 10-28 14:46 log5-2.log 
-rw-r–r– 1 root root 0 10-28 14:46 log5-3.log 
-rw-r–r– 1 root root 0 10-28 14:53 log.log

說明:
在沒有帶-a參數(shù)時(shí),兩個(gè)文件的時(shí)間是不一樣的。在帶了-a參數(shù)時(shí),兩個(gè)文件的時(shí)間是一致的。

實(shí)例二:目標(biāo)文件存在時(shí),會(huì)詢問是否覆蓋

命令:
cp log.log test5
輸出:

[root@localhost test]# cp log.log test5 
cp:是否覆蓋“test5/log.log”? n 
[root@localhost test]# cp -a log.log test5 
cp:是否覆蓋“test5/log.log”? y 
[root@localhost test]# cd test5/ 
[root@localhost test5]# ll 
-rw-r–r– 1 root root 0 10-28 14:46 log5-1.log 
-rw-r–r– 1 root root 0 10-28 14:46 log5-2.log 
-rw-r–r– 1 root root 0 10-28 14:46 log5-3.log 
-rw-r–r– 1 root root 0 10-28 14:48 log.log

說明:
目標(biāo)文件存在時(shí),會(huì)詢問是否覆蓋。這是因?yàn)閏p是cp -i的別名。目標(biāo)文件存在時(shí),即使加了-f標(biāo)志,也還會(huì)詢問是否覆蓋。

實(shí)例三:復(fù)制整個(gè)目錄

命令:cp -a test3 test5
輸出:
目標(biāo)目錄存在時(shí):

[root@localhost test]# cp -a test3 test5 
[root@localhost test]# ll 
-rw-r–r– 1 root root 0 10-28 14:48 log.log 
drwxr-xr-x 6 root root 4096 10-27 01:58 scf 
drwxrwxrwx 2 root root 4096 10-28 14:47 test3 
drwxr-xr-x 3 root root 4096 10-28 15:11 test5 
[root@localhost test]# cd test5/ 
[root@localhost test5]# ll 
-rw-r–r– 1 root root 0 10-28 14:46 log5-1.log 
-rw-r–r– 1 root root 0 10-28 14:46 log5-2.log 
-rw-r–r– 1 root root 0 10-28 14:46 log5-3.log 
-rw-r–r– 1 root root 0 10-28 14:48 log.log 
drwxrwxrwx 2 root root 4096 10-28 14:47 test3

目標(biāo)目錄不存在是:

[root@localhost test]# cp -a test3 test4 
[root@localhost test]# ll 
-rw-r–r– 1 root root 0 10-28 14:48 log.log 
drwxr-xr-x 6 root root 4096 10-27 01:58 scf 
drwxrwxrwx 2 root root 4096 10-28 14:47 test3 
drwxrwxrwx 2 root root 4096 10-28 14:47 test4 
drwxr-xr-x 3 root root 4096 10-28 15:11 test5 
[root@localhost test]#

說明:
注意目標(biāo)目錄存在與否結(jié)果是不一樣的。目標(biāo)目錄存在時(shí),整個(gè)源目錄被復(fù)制到目標(biāo)目錄里面。

實(shí)例四:復(fù)制的 log.log 建立一個(gè)連結(jié)檔 log_link.log

命令:
cp -s log.log log_link.log
輸出:

[root@localhost test]# cp -s log.log log_link.log 
[root@localhost test]# ll 
lrwxrwxrwx 1 root root 7 10-28 15:18 log_link.log -> log.log 
-rw-r–r– 1 root root 0 10-28 14:48 log.log 
drwxr-xr-x 6 root root 4096 10-27 01:58 scf 
drwxrwxrwx 2 root root 4096 10-28 14:47 test3 
drwxrwxrwx 2 root root 4096 10-28 14:47 test4 
drwxr-xr-x 3 root root 4096 10-28 15:11 test5

說明:
那個(gè) log_link.log 是由 -s 的參數(shù)造成的,建立的是一個(gè)××『快捷方式』××,所以您會(huì)看到在文件的最右邊,會(huì)顯示這個(gè)文件是『連結(jié)』到哪里去的!

感謝各位的閱讀,以上就是“l(fā)inux下的cp命令能干嘛”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)linux下的cp命令能干嘛這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI