在Linux系統中使用cp命令來拷貝文件,但是使用cp命令把文件復制到dir目錄中的時候總會提示是不是要覆蓋文件。那麼怎麼樣取消提示讓Linux直接復制文件呢?
實際上這個提示是一個很好的功能,它能夠防止我們由於疏忽對系統造成的損害,但如果不希望看到這些交互的提示信息呢?比如我們需要寫一個腳本,將某些文件安裝到指定的目錄下,這時我們肯定不希望看到提示。
可以試一下 -f 選項,-f 一般表示強制執行(force)。
cp -f file dir
但好像結果並不像我們希望的那樣,系統依然會有覆蓋提示。為什麼呢?
原因很簡單,系統將cp命令alias為cp -i。
當我們執行cp命令的時候,系統往往執行的是cp -i,-i 選項表示有交互的提示信息,
所以執行cp -f的時候,系統實際執行的是cp -i -f,所以仍然會有覆蓋提示。
可以執行alias命令查看下:
alias cp=‘cp -i’
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也很簡單:
1.在調用cp的時候加入絕對路徑(可通過whereis cp命令得到),如
/bin/cp -f file dir
2.通過直接執行下面的語句調用系統原始的命令:
\cp -f file dir
3.在~/.bashrc裡面注釋掉 Alias cp=‘cp -i’
4.unalias cp ,然後再使用cp,但使用後還原alias cp=‘cp -i’
以上就是Linux取消cp命令覆蓋文件提示的方法了,取消掉這個提示,就可以直接拷貝文件,拷貝的速度也會快很多。