在 CentOS 系统中,别名(alias)的优先级遵循以下规则:
内置命令:系统内置命令具有最高的优先级。例如,cd
、ls
等命令是内置的,它们的优先级高于任何别名或脚本。
别名:用户定义的别名优先级低于内置命令。你可以通过 alias
命令查看当前用户定义的所有别名。
函数:如果你为某个命令定义了一个函数,那么该函数的优先级高于别名和内置命令。你可以通过 typeset -f
或 declare -f
命令查看当前用户定义的所有函数。
脚本:如果别名和函数都没有匹配到命令,系统会尝试在 $PATH
环境变量指定的目录中查找可执行脚本。脚本的优先级低于函数,但高于其他非脚本文件。
可执行文件:如果以上都没有匹配到命令,系统会在 $PATH
环境变量指定的目录中查找可执行文件。这是最低优先级的命令来源。
要查看某个命令的实际解析结果,可以使用 type
命令。例如:
type cd
type ll
这将显示 cd
和 ll
命令的实际解析结果,包括它们是内置命令、别名、函数还是脚本。