Bash中有些命令是內建的命令,有些命令是外部命令,可以通过type命令进行查看。
type本身就是一个內建的命令。
外部命令都存储在指定的目录里,为了操作方便,系统提供了一个“PATH”的环境变量,用于指定外部命令的查找顺序和位置。
以冒号为分隔符,命令查找顺序是从左到右查找。第一次匹配了就立即停止查找并执行,意思就是如果有两个命令名称相同的命令,谁在前就执行谁。
系统还可以将执行的命令进行统计并缓存。通过hash命令进行命令缓存查看。
从用户登录到执行hash命令的时刻,用户执行的命令有哪些,命令的执行次数都有显示。
总结:Bash命令查询的顺序为先查看命令缓存,如果命中,就以缓存中的命令执行,如果没有命令再从PATH指定的目录中查找命令并执行。如果都没有找到指定命令,就向用户返回 找不到命令的错误提示。
补充:
hash命令有两个参数
-d 删除指定命令缓存。
-r 清空所有缓存。
本文转自 yueyue207 51CTO博客,原文链接:http://blog.51cto.com/yueyue207/2047394