A. cp執行命令,如何直接覆蓋不提示
我們先來看一下原因吧!一般我們使用的命令是cp -rf sourcefile targetdir或cp -r -f sourcefiletargetdir,-r的意思是遞歸復制,也就是復制文件夾及其下所有文件-f的意思是遇到同名的文件,不提示,直接覆蓋這是因為,系統在安裝的時候使用
B. 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 就可以了!
C. 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選項。
D. 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 確認麻煩的話,可以使用如下方法解決:
強制復制
建議大家使用方式一,因為取消別名的話很容易造成風險,萬一又忘記恢復別名,以後的復制都不會有提示信息。
有提示信息可以多一層保險嘛,是人都會有犯混的時候,給自己加一個保險,有保障呀.
E. cp命令怎麼把之前目錄中的舊文件覆蓋成新的
cp是復制,覆蓋成新的應該用mv
用法是:mv [source] [destination]
des覆蓋source
F. linux cp 命令 重復提示覆蓋
1.先臨時取消別名設定
# unalias cp
#cp -R 11/* 22/
2.永久取消
#vim ~/.bashrc
將alias cp='cp -i' 前面加#注釋掉
G. Linux下如何使CP命令不提示覆蓋 rm 確認提示後刪除
我們先來看一下原因吧!
一般我們使用的命令是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
只要在相應的命令前加#號,就可以注釋掉該命令了。保存退出,然後你就可以用純粹的原命令了。
H. linux的cp命令的互動式用法和強制覆蓋用法的問題(2)
默認root環境下執行alias就能知道
python">aliascp='cp-i'
aliasl.='ls-d.*--color=auto'
aliasll='ls-l--color=auto'
aliasls='ls--color=auto'
aliasmv='mv-i'
aliasrm='rm-i'
aliassudo='sudo-E'
aliaswhich='alias|/usr/bin/which--tty-only--read-alias--show-dot--show-tilde'
但是普通用戶沒這個,如果你在root用戶下不想互動式可以用絕對命令
cp mv 像這樣命令前加個『』就好了
I. 使用cp命令覆蓋掉的文件可以恢復嗎
1.先臨時取消別名設定
# unalias cp
#cp -R 11/* 22/
2.永久取消
#vim ~/.bashrc
將alias cp='cp -i' 前面加#注釋掉
J. 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 就可以了!