\cp -rf * /xxxx/
默認情況下,cp覆蓋時,無論加什麼參數 -f 之類的 還是提示是否覆蓋。
原因是:伺服器會默認增加別名 alias cp=』cp -i』,當你執行cp時,其實執行的是cp –i。
[root@ltt01 ~]# 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'
② LINUX命令的cp -r 和-R的區別是
LINUX命令的cp -r 和-R的區別為:復制不同、覆蓋不同、識別依據不同。
一、復制不同
1、cp -r:cp -r既復制當前目錄下的文件,也復制當前目錄下的文件夾。
2、-R:-R只復制當前目錄下的文件,不復制當前目錄下的文件夾。
二、覆蓋不同
1、cp -r:cp -r含文件的文件夾會覆蓋不含文件的同名文件夾,文件也會覆蓋。
2、-R:-R不會覆蓋含內容的文件夾,但是會覆蓋同名的空文件。
三、識別依據不同
1、cp -r:cp -r不以文件後綴名作為識別依據。
2、-R:-R以文件後綴名作為識別依據。
③ centos cp -rf 依舊會出現提示覆蓋命令
部分伺服器會設置 命令的別名 alias
比如
也即,輸入ll後,被自動定向到'ls -alF'這個命令了。alias的作用就是,可以簡寫命令。
在執行 cp -rf 時候
此時的cp 已經被alias 改成了 cp -i
所以直接使用cp -rf 依舊會發生提示
解決辦法
將別名改回來
在執行cp -rf 就好
④ linux的cp怎麼覆蓋
cp命令是我日常學習中經常會遇到的一個命令,下面這篇文章主要給大家介紹了關於Linux系統利用cp命令實現強制覆蓋功能的方法,並且給大家簡單的介紹了cp命令的基礎知識,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧。
前言
cp命令用來將一個或多個源文件或者目錄復制到指定的目的文件或目錄。它可以將單個源文件復製成一個指定文件名的具體的文件或一個已經存在的目錄下。cp命令還支持同時復制多個文件,當一次復制多個文件時,目標文件參數必須是一個已經存在的目錄,否則將出現錯誤。
語法
cp(選項)(參數)
選項
-a:此參數的效果和同時指定"-dpR"參數相同;
-d:當復制符號連接時,把目標文件或目錄也建立為符號連接,並指向與源文件或目錄連接的原始文件或目錄;
-f:強行復制文件或目錄,不論目標文件或目錄是否已存在;
-i:覆蓋既有文件之前先詢問用戶;
-l:對源文件建立硬連接,而非復制文件;
-p:保留源文件或目錄的屬性;
-R/r:遞歸處理,將指定目錄下的所有文件與子目錄一並處理;
-s:對源文件建立符號連接,而非復制文件;
-u:使用這項參數後只會在源文件的更改時間較目標文件更新時或是名稱相互對應的目標文件並不存在時,才復制文件;
-S:在備份文件時,用指定的後綴「SUFFIX」代替文件的默認後綴;
-b:覆蓋已存在的文件目標前將目標文件備份;
-v:詳細顯示命令執行的操作。
參數
源文件:制定源文件列表。默認情況下,cp命令不能復制目錄,如果要復制目錄,則必須使用-R選項;
目標文件:指定目標文件。當「源文件」為多個文件時,要求「目標文件」為指定的目錄。
利用cp命令實現強制覆蓋功能
我們平常在Linux中使用 cp 命令時,會發現將一個目錄中文件復制到另一個目錄具有相同文件名稱時,即使添加了 -rf 參數強制覆蓋復制時,系統仍然會提示讓你一個個的手工輸入 y 確認復制,所添加的rf參數是不起作用的。
原因:
cp命令被系統設置了別名,相當於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 命令,雖然沒有添加任何參數 ,但系統默認會在我們使用 cp 命令時自動添加 -i 參數
-i, --interactive
prompt before overwrite
-i 即交互的縮寫方式,也就是在使用 cp 命令作文件覆蓋操作之前,系統會要求確認提示.這個本來是系統的一個保險措施.如果有很多文件要復制,覺得一個一個輸入y 確認麻煩的話,可以使用如下方法解決:
強制復制
建議大家使用方式一,因為取消別名的話很容易造成風險,萬一又忘記恢復別名,以後的復制都不會有提示信息。
有提示信息可以多一層保險嘛,是人都會有犯混的時候,給自己加一個保險,有保障呀.
⑤ LINUX命令的cp -r 和-R的區別是
功能上是等價的。不加-r或者-R的時候,只拷貝文件,不拷貝文件夾;加上後則會拷貝文件夾——包括下一級的子文件夾,以及子文件夾中的子文件夾,余此類推。另外rm的-R -r功能同上ls的-R功能同上,-r的功能是結果反向排列想學習了解更多linux知識,請關注《linux就該這么學》官網。
⑥ lunix覆蓋命令怎麼輸入確認
添加-rf參數強制覆蓋,再手動輸入y確認復制。
在linux中,使用cp命令覆蓋文件操作時總是提示輸入yes或no,很是麻煩,一兩個的也就算了,沒什麼,但有時會遇到大量文件的復制時,可以輸入unalias-cp命令,取消cp命令的別名,使用unalias-cp命令後,即可使用cp-filename-new-filename就不會提示輸入yes或no了。
⑦ linux的cp怎麼覆蓋
Linux下cp覆蓋時,無論加什麼參數-f之類的還是提示是否覆蓋,當沒有打包的情況下直接復制:
把test目錄下的文件復制到test1目錄;
cp
–r
test/*
test1
執行上面的命令時,test1存在的每個文件都會提示是否覆蓋;
cp
–rf
test/*
test1
執行上面的命令時,test1存在的每個文件都不再會提示;
這是我們希望的理想狀態,但是有時加了-f了,還會有提示.
因為伺服器會默認增加別名
alias
cp='cp
-i',當你執行cp時,其實執行的是cp
–i。
alias下就可以看出來了。
#
alias
alias
cp='cp
-i'
用下面可以解決
#
vi
~/.bashrc
在alias
cp='cp
-i'前加上"#"注釋掉這行,:wq!保存推出,然後重新登陸就可以了。
下次在使用cp
-rf
就可以直接覆蓋已經存在了文件了。
當然你不想改變別名的話可以轉義掉,\cp
-rf即可。
⑧ cp命令用法
cp命令用來將一個或多個源文件或者目錄復制到指定的目的文件或目錄。它可以將單個源文件復製成一個指定文件名的具體的文件或一個已經存在的目錄下。cp命令還支持同時復制多個文件,當一次復制多個文件時,目標文件參數必須是一個已經存在的目錄,否則將出現錯誤。
語法
cp (選項) (參數)
選項
參數
源文件:制定源文件列表。默認情況下,cp命令不能復制目錄,如果要復制目錄,則必須使用-R選項;
目標文件:指定目標文件。當「源文件」為多個文件時,要求「目標文件」為指定的目錄。
實例
如果把一個文件復制到一個目標文件中,而目標文件已經存在,那麼,該目標文件的內容將被破壞。此命令中所有參數既可以是絕對路徑名,也可以是相對路徑名。通常會用到點.或點點..的形式。
例如,下面的命令將指定文件復制到當前目錄下:
cp ./test1/test.txt ./
所有目標文件指定的目錄必須是己經存在的,cp命令不能創建目錄。如果沒有文件復制的許可權,則系統會顯示出錯信息。
將文件 test1.txt 復制到目錄./下,並改名為test2.txt
cp test1.txt ./test2.txt
將目錄/usr/men下的所有文件及其子目錄復制到目錄/usr/zh中
cp -r /usr/men /usr/zh
互動式地將目錄/usr/men中的以m打頭的所有.c文件復制到目錄/usr/zh中
cp -i /usr/men m*.c /usr/zh
我們在Linux下使用cp命令復制文件時候,有時候會需要覆蓋一些同名文件,覆蓋文件的時候都會有提示:需要不停的按Y來確定執行覆蓋。文件數量不多還好,但是要是幾百個估計按Y都要吐血了,可用下一個方法:
cp -f /usr/men m*.c /usr/zh
⑨ linux怎樣強制復制文件並覆蓋
linux強制復制文件並覆蓋的方法
1、這么就用不會提示了:# cp -rf
2、 原因:
# vi ~/.bashrc
如果你看到如下內容,以下命令都會用別名執行了,就是說自動加了 -i 參數:
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
為了讓復制和移動大量文件去覆蓋目標時,不會產生一個個的提示,命令應該這樣寫
# cp -rf /data/xxx* /home/xxx
注意 cp 命令前加了 ,意思是不讓它用~/.bashrc里的別名運行,即 -i 參數
3、補充cp該命令的各選項含義如下
- a 該選項通常在拷貝目錄時使用。它保留鏈接、文件屬性,並遞歸地拷貝目錄,其作用等於dpR選項的組合。
- d 拷貝時保留鏈接。
- f 刪除已經存在的目標文件而不提示。
- i 和f選項相反,在覆蓋目標文件之前將給出提示要求用戶確認。回答y時目標文件將被覆蓋,是互動式拷貝。
- p 此時cp除復制源文件的內容外,還將把其修改時間和訪問許可權也復制到新文件中。
- r 若給出的源文件是一目錄文件,此時cp將遞歸復制該目錄下所有的子目錄和文件。此時目標文件必須為一個目錄名。
- l 不作拷貝,只是鏈接文件。
4、需要說明的是,為防止用戶在不經意的情況下用cp命令破壞另一個文件,如用戶指定的目標文件名是一個已存在的文件名,用cp命令拷貝文件後,這個文件就會被新拷貝的源文件覆蓋,因此,建議用戶在使用cp命令拷貝文件時,最好使用i選項。
⑩ cp執行命令,如何直接覆蓋不提示
我們先來看一下原因吧!一般我們使用的命令是cp -rf sourcefile targetdir或cp -r -f sourcefiletargetdir,-r的意思是遞歸復制,也就是復制文件夾及其下所有文件-f的意思是遇到同名的文件,不提示,直接覆蓋這是因為,系統在安裝的時候使用