1)什么是别名
命令别名类似人的别名,通过alias命令指定
2)使用方法
- 定义别名
alias [name[=value]]
这里需要注意的是:
等号(=)前后不能有空格,否则就会出现语法错误了。
如果value中有空格或tab,则value一定要使用引号(单、双引号都行)括起来
- 查看别名
输入alias命令,不加任何参数即可 - 使别名永久生效
我们通过 alias 命令设置的别名,仅限于在当前的 Shell 中使用,如果系统重启了,那么新设置的别名就失效了。
如果想让别名永久有效的话,就需要把所有的别名设置方案加入到($HOME)目录下的 .alias
文件中(如果系统中没有这个文件,你可以创建一个),然后在 .bashrc 文件中增加这样一段代码:
if [ -f ~/.alias ]; then
. ~/.alias
fi
或者可以通过vi ~/.bashrc中直接写入别名定义。
- 取消别名
取消别名可以用unalias命令,若别名写入.bashrc文件,则文件中对应内容也要清理
例如:unalias vi
unalias -a 删除所有别名 - 执行命令本身而非别名
别名虽好,但也有它的弊端,比如定义的别名恰好和某个命令重名了,这就麻烦了,Shell
中执行的将永远都是别名。这里,如果我们想执行真正的那个命令而非别名,该怎么办呢?有三种方法可以解决这个问题: 方案一:使用命令的绝对路径。
方案二:切换到命令所在的目录,执行./command。 方案三:在命令前使用反斜线(\)
#绝对路径方法
[roc@linux ~]$ /bin/vi test.sh
#明确指定当前路径的方法
[root@linux ~]$ cd /bin
[root@linux bin]$ ./vi ~/test.sh
#使用反斜线的方法
[root@linux bin]$ cd
[root@linux ~]$ \vi test.sh
3)命令执行顺序
第一顺位执行用绝对路径或者相对路径执行的命令
第二顺位执行别名
第三顺位执行bash内部命令
第四顺位执行
p
a
t
h
环
境
变
量
定
义
的
目
录
查
找
顺
序
中
找
到
的
第
一
个
命
令
执
行
命
令
时
,
会
按
照
path环境变量定义的目录查找顺序中找到的第一个命令 执行命令时,会按照
path环境变量定义的目录查找顺序中找到的第一个命令执行命令时,会按照path 对应的目录顺序查找是否存在对应命令,$path中所有路径都不存在此命令,则返回command not found。
4)常用快捷键