WEB开发网
开发学院操作系统Linux/Unix 实例解析:Linux之Alias导致覆盖提示问题 阅读

实例解析:Linux之Alias导致覆盖提示问题

 2008-06-18 12:13:02 来源:WEB开发网   
核心提示: 对一些机器进行版本升级,由于以往升级是习惯了备份用mv im im.bak然后再解一个im包出来,而目前这个升级面临的是部分文件的覆盖,但部分却也不少,有上百个文件,在使用用cp -Rf /home/im/im /usr/local 出现大量是否覆盖? 于是man cp -f, --force if an exist
 

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

Tags:实例 解析 Linux

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接