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

2008-06-18 05:37:32.0     推荐:0    收藏:0    评论:0     来源:e800Linux频道

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

(责任编辑:云子)


您可以针对本文进行:[评论]  [收藏]  [推荐]   [查看原文链接]  
  • 共有0条评论  点击查看更多评论
  • 网友评论仅供网友表达个人看法,并不表明e800同意其观点或证实其描述
我想发表评论:
用户名密码
  • 匿名发表
    验证码: