在〜/ .bashrc文件中定义了几个shell别名。在Linux或类似Unix的系统上,如何临时删除(禁用)shell别名并直接调用原命令,而不在bash shell下使用unalias命令?
使用别名命令可以用另一个字符串替换单词。它主要用于缩写系统命令,或用于向常规使用的命令添加默认参数。
在Linux和类似Unix的操作系统上创建自己的命令时,它也很有用。
如何显示当前定义的别名
键入以下命令:
# alias
示例输出:
# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
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; declare -f) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot'
alias xzegrep='xzegrep --color=auto'
alias xzfgrep='xzfgrep --color=auto'
alias xzgrep='xzgrep --color=auto'
alias zegrep='zegrep --color=auto'
alias zfgrep='zfgrep --color=auto'
alias zgrep='zgrep --color=auto'
如何创建别名
为常用的clear命令创建一个名为c的别名,该别名会清除屏幕:
# alias c='clear'
然后,要清除屏幕,无需键入clear,用户只需键入字母c并按[ENTER]键:
# c
如何暂时禁用别名?
可以暂时禁用别名,然后直接调用原命令。只需在命令前加上反斜杠即可。从以上输出可以看到已经存在一个名为cp的别名:
# alias cp='cp -i'
执行如下命令
# cp /src/a.txt /dst/
cp:是否覆盖'/dst/a.txt'?
此时调用的时cp别名,显示确认覆盖信息
现在暂时禁用cp别名,输入:
# \cp /src/a.txt /dst/
#
此时调用的时cp原命令,不显示确认覆盖信息。
另一种选择是键入完整的命令路径:
# /usr/bin/cp /src/a.txt /dst/
您也可以使用以下任何命令:
# "cp" /src/a.txt /dst/
# 'cp' /src/a.txt /dst/
# command cp /src/a.txt /dst/
但是,如何永久取消别名?
更新您的外壳程序配置文件,例如〜/ .bashrc并删除所需的别名: 有关更多信息,请阅读以下帮助/手册页:
# vi ~/.bashrc #or use joe text editor ##
# unalias nameHere
# unalias cp
# source ~/.bashrc
# man bash
# help source
# help alias
# help unalias
# man vim