對一些機器進行版本升級,由於以往升級是習慣了備份用mv im im.bak然後再解一個im包出來,而目前這個升級面臨的是部分文件的覆蓋,但部分卻也不少,有上百個文件,在使用用cp -Rf /home/im/im /usr/local 出現大量是否覆蓋?
於是man cp
-f, --force
if an existing destination file cannot be opened, remove it and try again
看這裡似乎沒有提及覆蓋不提示,以為用錯了命令,於是百度,google了下,發覺還是-f不提示,納悶了,在同事的提示下說有個別名的問題,於是運行了下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'
問題是,就如同事所說是因為這個問題,擔使用rm -rf時不也一樣不提示,不過man rm
-f, --force
ignore nonexistent files, never prompt
他倒是有忽略的意思;
不管了,反正找不到辦法先試試先
編輯root用戶/root
及全局別名,如果想更改某一用戶自己使用的別名可以在/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/bashrc
fi
~
~
把alias cp='cp -i'注釋掉
運行保存後的.bashrc文件
source ~/.bashrc
再執行,cp -Rf /home/im/im /usr/local 也就不提示了,其實這時候不用-f也可以吧,只不過我沒有試,機器要用,也就沒試了.這問題雖然解決但解決的有些郁悶!