溫馨提示×

溫馨提示×

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

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

Linux系統(tǒng)利用cp命令實現(xiàn)強制覆蓋功能的方法

發(fā)布時間:2020-09-11 20:49:49 來源:腳本之家 閱讀:512 作者:xinluke 欄目:服務(wù)器

前言

cp命令用來將一個或多個源文件或者目錄復(fù)制到指定的目的文件或目錄。它可以將單個源文件復(fù)制成一個指定文件名的具體的文件或一個已經(jīng)存在的目錄下。cp命令還支持同時復(fù)制多個文件,當(dāng)一次復(fù)制多個文件時,目標(biāo)文件參數(shù)必須是一個已經(jīng)存在的目錄,否則將出現(xiàn)錯誤。

語法

cp(選項)(參數(shù))

選項

  • -a:此參數(shù)的效果和同時指定"-dpR"參數(shù)相同;
  • -d:當(dāng)復(fù)制符號連接時,把目標(biāo)文件或目錄也建立為符號連接,并指向與源文件或目錄連接的原始文件或目錄;
  • -f:強行復(fù)制文件或目錄,不論目標(biāo)文件或目錄是否已存在;
  • -i:覆蓋既有文件之前先詢問用戶;
  • -l:對源文件建立硬連接,而非復(fù)制文件;
  • -p:保留源文件或目錄的屬性;
  • -R/r:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
  • -s:對源文件建立符號連接,而非復(fù)制文件;
  • -u:使用這項參數(shù)后只會在源文件的更改時間較目標(biāo)文件更新時或是名稱相互對應(yīng)的目標(biāo)文件并不存在時,才復(fù)制文件;
  • -S:在備份文件時,用指定的后綴“SUFFIX”代替文件的默認(rèn)后綴;
  • -b:覆蓋已存在的文件目標(biāo)前將目標(biāo)文件備份;
  • -v:詳細(xì)顯示命令執(zhí)行的操作。

參數(shù)

源文件:制定源文件列表。默認(rèn)情況下,cp命令不能復(fù)制目錄,如果要復(fù)制目錄,則必須使用-R選項;

目標(biāo)文件:指定目標(biāo)文件。當(dāng)“源文件”為多個文件時,要求“目標(biāo)文件”為指定的目錄。

利用cp命令實現(xiàn)強制覆蓋功能

我們平常在Linux中使用 cp 命令時,會發(fā)現(xiàn)將一個目錄中文件復(fù)制到另一個目錄具有相同文件名稱時,即使添加了 -rf 參數(shù)強制覆蓋復(fù)制時,系統(tǒng)仍然會提示讓你一個個的手工輸入 y 確認(rèn)復(fù)制,所添加的rf參數(shù)是不起作用的。

原因:

cp命令被系統(tǒng)設(shè)置了別名,相當(dāng)于cp=‘cp -i' 。

查詢alias命令

[root@localhost sonarqube]# alias 
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

通過上述輸出,可以看出,我們平時使用 cp 命令,雖然沒有添加任何參數(shù) ,但系統(tǒng)默認(rèn)會在我們使用 cp 命令時自動添加 -i 參數(shù)

 -i, --interactive
  prompt before overwrite

-i 即交互的縮寫方式,也就是在使用 cp 命令作文件覆蓋操作之前,系統(tǒng)會要求確認(rèn)提示.這個本來是系統(tǒng)的一個保險措施.如果有很多文件要復(fù)制,覺得一個一個輸入y 確認(rèn)麻煩的話,可以使用如下方法解決:

強制復(fù)制

建議大家使用方式一,因為取消別名的話很容易造成風(fēng)險,萬一又忘記恢復(fù)別名,以后的復(fù)制都不會有提示信息。
有提示信息可以多一層保險嘛,是人都會有犯混的時候,給自己加一個保險,有保障呀.

方式一

使用原生的cp命令

/bin/cp -rf xxxx

方式二

取消cp命令別名

unalias cp

去掉 cp 命令的別名,這時你再用 cp -rf 復(fù)制文件時,就不會要求確認(rèn)啦.

復(fù)制完成后恢復(fù)別名

alias cp='cp -i'

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。

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

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

AI