導航:首頁 > 操作系統 > linuxcp不覆蓋

linuxcp不覆蓋

發布時間:2023-06-09 16:23:03

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以文件後綴名作為識別依據。

⑵ Linux 使用 cp 命令強制覆蓋功能

我們平時在 Linux 中使用 cp 命令時,當把文件從一個目錄復制到另一個目錄,且目錄中具有同名文件時,系統會提示輸入 y 來確認是否覆蓋同名文件。

如果文件少的謹搏飢話,也無關緊要,但文件多的話,要一個一個確認簡直太累了。更要命的是,即使我們加了 -rf 參數,還是會提示。

為什麼會這樣呢?

原因就是 cp 命令被系統設置了 別名

我們可以查看祥返一下:

也就是說,我們平時使用的 cp 命令,實際上是 cp -i 。

那 -i 參數是什麼意思呢?

就是在覆蓋之前銀昌會給一個提示,這應該算是系統的一個保險措施。

那如果希望進行強制復制,不想一個一個輸入 y ,有什麼辦法呢?

使用原生命令:

取消別名:

這樣再使用 cp -rf 的時候就不會提示確認了。

但需要注意的是,使用完之後記得把別名恢復。

這里更推薦大家使用辦法一,因為命令簡單,而且還不會造成忘記恢復別名而帶來的風險。

以上就是本文的全部內容,如果覺得還不錯的話,歡迎 點贊 轉發 關注 ,感謝支持。

推薦閱讀:

⑶ linux cp 命令 的 -f 選項不起作用

-f, --force if an existing destination file cannot be opened, remove it and try again

也就是說-f可以覆蓋目的目錄下有的文件,
但你有沒有發現過這種情況,即使使用了-f也無法覆蓋?
原因何在呢?
默認cp命令是有別名(alias cp='cp -i')的,無法強制覆蓋,即使你用 -f 參數也無法強制覆蓋文件。

可以使用\cp 執行cp命令時不走alias
\cp * -rf ../../test

網上還有一種解決方法:
臨時取消cp的alias
#unalias cp
#cp a /test/a

⑷ linux cp命令,怎麼跳過相同的文件

使用cp命令的-n參數。

⑸ 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命令怎麼使用

該命令的功能是將給出的文件或目錄拷貝到另一文件或目錄中,同MSDOS下的命令一樣,功能十分強大。

語法: cp [選項] 源文件或目錄 目標文件或目錄

說明:該命令把指定的源文件復制到目標文件或把多個源文件復制到目標目錄中。

該命令的各選項含義如下:

- a 該選項通常在拷貝目錄時使用。它保留鏈接、文件屬性,並遞歸地拷貝目錄,其作用等於dpR選項的組合。

- d 拷貝時保留鏈接。

- f 刪除已經存在的目標文件而不提示。

- i 和f選項相反,在覆蓋目標文件之前將給出提示要求用戶確認。回答y時目標文件將被覆蓋,是互動式拷貝。

- p 此時cp除復制源文件的內容外,還將把其修改時間和訪問許可權也復制到新文件中。

- r 若給出的源文件是一目錄文件,此時cp將遞歸復制該目錄下所有的子目錄和文納梁件。此時目標文件必須為一個目錄名。

- l 不作拷貝,只是鏈接文件。

需要說明的是,為防止用戶在不經意的情況下用cp命令破壞另一個文件,如用戶指定的段正目標文件名已存在,用cp命令拷貝文件後,這個文件就會被新源文件覆蓋,因此,建議用戶在使用cp命令拷貝文件時,最好使用i選項。

例子:
Cp -i file1 file2 (將文檔 file1 復製成 file2 . _i為提示確認。)

cp file1 dir1 將文檔 file1 復制到目錄 dir1 下,文件名仍為 file1.

cp /tmp/file1 . 將目錄 /tmp 下的文檔 file1復制到現行目錄下,檔名仍為 file1.

cp /tmp/file1 file2 將目錄 /tmp 下的文檔 file1現行目錄下,檔名為file2

cp -r dir1 dir2 握茄悔 (recursive ) 復制整個目錄.若目錄 dir2 不存在,則將目錄dir1,及其所有文檔和子目錄,復制到目錄 dir2 下,新目錄名稱為dir1.若目錄dir2不存在,則將dir1,及其所有文檔和子目錄,復制為目錄 dir2.

⑺ linux的cp -i 詢問是否覆蓋,但是文件太多,每次輸入「n」太麻煩。請問有什麼簡單辦法。

用mv命令就能實現覆蓋, mv file /dst/file 會把dst文件夾下的file覆蓋,如果dst下沒有file文件,就復制。 一個命令,能用就可以了。 不知道

⑻ linux 命令 cp命令可以不覆蓋嗎

一般我們使用的命令是cp -rf sourcefile targetdir或cp -r -f sourcefile
targetdir,
-r的意思是遞歸復制,也就是復制文件夾及其下所有文件
-f的意思是遇到同名的文件,不提示,直接覆蓋
這是因為,系統在安裝的時候使用了別名,防止我們誤操作,覆蓋了不該覆蓋的文件。使用別名命令就可以看到具體的配置了。
[test@Server home]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
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」命令,
從上邊的命令我們可以知道,其他幾個命令,也使用了別名,例如ll,ls mv,rm等。
[test@Server home]# vi ~/.bashrc# .bashrc# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrcfi
只要在相應的命令前加#號,就可以注釋掉該命令了。保存退出,然後你就可以用純粹的原命令了。
其實還有一種辦法可以解決這個問題,就是使用 \cp -f file dir 就可以了!

⑼ 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即可。

⑽ linux cp命令對於拷貝文件和文件夾有何區別

cp文件時候可以不用加參數,但是cp文件夾的時候必須加-R或-r。解決方法如下:

1、首先將文件復制到另一個目錄中:cp 文件名 目錄名。復制a.txt至test目錄中,則執行 cp a.txt /test 即可。

閱讀全文

與linuxcp不覆蓋相關的資料

熱點內容
內核模塊調用命令 瀏覽:262
晴雅集哪個平台看 瀏覽:591
鍾真和徐錦江拍過的電影有哪些 瀏覽:757
vim命令找行 瀏覽:188
反編譯後的文件打不開 瀏覽:45
空調壓縮機哪裡有賣 瀏覽:99
java解析stringxml 瀏覽:493
島國片車牌咋用 瀏覽:77
韓國床戲電影推薦窗邊 瀏覽:915
照片壓縮軟體免費下載 瀏覽:922
weboffice怎麼解壓 瀏覽:323
安卓手機怎麼樣才能使用ios系統 瀏覽:502
如何在win10電腦安裝web伺服器 瀏覽:254
android監聽軟鍵盤收起 瀏覽:600
韓國著名女演員大尺度電影 瀏覽:38
有沒有胸大的電影 瀏覽:433
個人數據存放網和網路雲伺服器上 瀏覽:801
求免費網址 瀏覽:446
免費電影電影 瀏覽:182
紅帽8命令 瀏覽:792