对一些机器进行版本升级,由于以往升级是习惯了备份用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也可以吧,只不过我没有试,机器要用,也就没试了.这问题虽然解决但解决的有些郁闷!