Linux/Unix中如何绕过命令的别名
时间:2019-11-20 08:52:57 来源:igfitidea点击:
问题
当系统中定义了别名后,如何不取消别名使用原命令?
在Linux系统中定义了mount的别名 alias mount ='mount | column -t'
。
现在想用mount命令怎么办?
在Linux,BSD,macOS或类似Unix的系统中,如何临时禁用命令别名或者绕过shell脚本别名?
解决方案
Linux中,可以使用alias命令定义或显示bash shell别名。
创建bash shell别名后,它们将优先于外部或内部命令。
在本教程中我们学习了如何临时绕过bash别名,以便可以运行实际的命令。
在bash shell中绕过别名
让我们定义一个别名如下:
alias mount='mount | column -t'
运行:
mount
使用\command绕过命令别名
临时绕过mount的别名:
\mount
使用引号绕过shell别名
引用mount命令,调用实际的命令/bin/mount,如下所示:
"mount"
或者
'mount'
使用完整的命令路径
例如/bin/mount:
/bin/mount /bin/mount /dev/sda1 /mnt/sda
使用command命令
语法为:
command cmd command cmd arg1 arg2
例如:
command mount command mount /dev/sdc /mnt/pendrive/
unalias命令
unalias命令用于删除当前会话中已经定义的别名。
例如:
删除mount的别名
unalias mount
从当前bash会话中删除所有别名:
unalias -a
要永久删除定义的别名
需要在~/.bashrc或$HOME/.bash_aliases文件中删除它们:
vi ~/.bashrc
或者
vi $HOME/.bash_aliases
有关更多信息,请参见bash命令手册页:
man bash help command help unalias help alias