A. 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即可。
B. linux cp命令對於拷貝文件和文件夾有何區別
cp文件時候可以不用加參數,但是cp文件夾的時候必須加-R或-r。解決方法如下:
1、首先將文件復制到另一個目錄中:cp 文件名 目錄名。復制a.txt至test目錄中,則執行 cp a.txt /test 即可。
C. 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即可。
D. linux的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'
1
2
3
4
5
6
7
8
9
10
11
1
2
3
4
5
6
7
8
9
10
11
通過上述輸出,可以看出,我們平時使用 cp 命令,雖然沒有添加任何參數 ,但系統默認會在我們使用 cp 命令時自動添加 -i 參數
-i, --interactive
prompt before overwrite
1
2
1
2
-i 即交互的縮寫方式,也就是在使用 cp 命令作文件覆蓋操作之前,系統會要求確認提示.這個本來是系統的一個保險措施.如果有很多文件要復制,覺得一個一個輸入y 確認麻煩的話,可以使用如下方法解決:
強制復制
建議大家使用方式一,因為取消別名的話很容易造成風險,萬一又忘記恢復別名,以後的復制都不會有提示信息。
有提示信息可以多一層保險嘛,是人都會有犯混的時候,給自己加一個保險,有保障呀.
方式一
使用原生的cp命令
/bin/cp -rf xxxx
1
1
方式二
取消cp命令別名
unalias cp
1
1
去掉 cp 命令的別名,這時你再用 cp -rf 復制文件時,就不會要求確認啦.
復制
E. 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選項。
F. linux cp―R與cp―r一樣嗎
一樣
-R/r:遞歸處理,將指定目錄下的所有文件與子目錄一並處理;