當前位置:生活全書館 >

綜合知識

> linux cp 不覆蓋

linux cp 不覆蓋

linux cp 不覆蓋

在linux中,可以利用cp命令的“-i”引數實現不覆蓋檔案,cp命令用於複製檔案或者目錄,當引數設定為“-i”時,在覆蓋檔案之前會給出提示,回答“n”時表示不同意覆蓋檔案,回答“y”時表示同意覆蓋檔案,語法為“cp -i 檔名”。

小編還為您整理了以下內容,可能對您也有幫助:

Linux下如何使CP命令不提示覆蓋

在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”命令, 也就是不管我們怎麼輸入 cp -rf,其實執行的是 cp -i -rf , 也無怪乎總是提問是否覆蓋了。 從上邊的命令我們可以知道,其他幾個命令,也使用了別名,例如ll,ls mv,rm等。 那麼如何解決這個問題呢?[test@Server home]# vi ~/.bashrc

# .bashrc# User specific aliases and functionsalias rm='rm -i'

alias cp='cp -i'

alias mv='mv -i'# Source global definitions

. /etc/bashrcfi只要在相應的命令前加#號,就可以註釋掉該命令了。儲存退出,然後你就可以用純粹的原命令了。 其實還有一種辦法可以解決這個問題,就是使用 \cp -f file dir 就可以了!

在Linux中,要將指定原始檔複製到目標檔案,但不覆蓋原有檔案時,需使用( )命令。

【答案】:C

本題考查Linux檔案系統的基本知識。在Linux系統中,檔案複製命令cp。cp命令的功能是把指定的原始檔複製到目標檔案或把多個原始檔複製到目標目錄中。如同 DOS下的 copy命令一樣。cp命令的一般格式是:

Cp [-選項] source fileName | directory dest fileName | directory

重要選項引數說明如下。

? -a: 整個目錄拷貝。它保留連結、檔案屬性,並遞迴地拷貝子目錄。

? -f: 刪除己經存在的目標檔案而不提示。

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

? -p: 除複製原始檔的內容外,還把其修改時間以及訪問許可權也複製到新檔案中。

? -R:若給出的原始檔是一目錄檔案,將遞迴複製該目錄下所有的子目錄和檔案 。

此時目標檔案必須為一個目錄名。

? -l: 不作拷貝,只是連結檔案。

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
  • 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/zonghezhishi/lw3m6w.html