为了提高在PATH路径中查询命令的速度,Linux采用了命令哈希表的方式。当Shell在PATH中找到一个命令时,将这个命令及其路径放入哈希表。用户敲一个外部命令时,Shell将先在哈希表中进行查询,哈希表中不存在时再去环境变量PATH指定的路径中去寻找。
列出当前登录Shell记录的使用过的外部命令的路径及相关调用次数等信息。
hash [option]
-d command 从当前的命令哈希表中移除命令command对应的记录 -l 显示当前命令哈希表中记录的命令及完整路径等信息 -r 清空命令哈希表 -t command 显示命令哈希表中记录的command命令的完整路径
不带选项的hash列出命令哈希表中的外部命令运行次数和完整路径:
[peter@ibi98 shell]$ hash
命中 命令
2 /bin/grep
2 /usr/bin/man
1 /bin/ls
使用-r选项可以清空命令哈希表的内容:
[peter@ibi98 shell]$ hash -r [peter@ibi98 shell]$ hash hash: 哈希表为空