购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3.3 命令别名

命令别名是什么呢?可以把它当作命令的“小名”。但是,这样做有什么意义呢?

比如,笔者刚接触Linux系统时,使用的编辑器是Vi,但是现在Vim的功能明显比Vi的功能更加强大,所以现在流行的编辑器变成了Vim。但是,笔者已经习惯了输入vi命令,而不习惯输入vim命令,别看一个小小的“m”的区别,在执行命令时总觉得别扭,这时别名就可以起作用了。只要定义vim命令的别名为vi,这样,以后执行的vi命令实际上就是vim命令。

大家需要注意一点,命令别名的优先级要高于命令本身的优先级。所以,一旦给vim命令设置了别名vi,那么原始的vi命令就不能使用了。所以,除非确定原命令是不需要的,否则别名不能和系统命令重名。再举一个例子:

在配置和使用Apache时,需要不断地重启Apache服务。这时,定义“sta”为Apache启动命令的别名,“sto”为Apache停止命令的别名,可以有效地加快Apache服务的重启速度。当然,笔者已经确定了系统中没有“sta”和“sto”命令(为了不和系统命令产生冲突,才起了这么别扭的别名),因此,这两个别名不会覆盖系统命令。

补充: 如何确定系统中没有“sta”和“sto”命令呢?还记得whereis和which命令吗?

当然,使用Tab键命令补全功能也能够确定是否有这两个命令。手工输入命令执行一下也可以确定。

既然命令别名的优先级高于命令本身的优先级,那么,在执行命令时,具体的顺序是这样的:

(1)第一顺位执行使用绝对路径或相对路径执行的命令。

(2)第二顺位执行命令别名。

(3)第三顺位执行Bash的内部命令。

(4)第四顺位执行按照PATH环境变量定义的目录查找,顺序找到的第一条命令。

别名就是这样简单的。不过,如果使用命令直接定义别名,那么这个别名只是临时生效的,一旦注销或重启系统,这个别名就马上消失了。为了让这个别名永久生效,可以把别名写入环境变量配置文件~/.bashrc中。命令如下:

这样一来,这些别名就可以永久生效了。那么,环境变量配置文件又是什么呢?顾名思义,环境变量配置文件就是用来定义操作环境的,别名当然也是操作环境,在2.5.2节中将详细介绍这个文件的作用。

设定好的别名可以删除吗?只要执行unalias命令就可以方便地删除别名。命令如下:

当然,如果确定要删除别名,则要同时删除环境变量配置文件中的相关项。 POQBrxYFr0MnYSg+i4cVQTJHLDvO5xEOzN6uFB7zoBiy4hwwt85zYcS40WqlylTL

点击中间区域
呼出菜单
上一章
目录
下一章
×