当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将执行之,如果不 存在,将会去PATH路径下寻找,利用hash缓存表可大大提高命令的调用速率。
- hash #显示当前终端进程中的hash 缓存
- hash -l #显示详创建此条hash 的命令,可作为输入使用
- hash -p path name #手动创建hash
- hash -t name #输出路径
- hash -d name #删除指定hash
- hash -r #清空所有hash
[root@sre01 ~]# hash
hits command
1 /usr/bin/cat
1 /usr/bin/sudo
[root@sre01 ~]# hash -t cat
/usr/bin/cat
[root@sre01 ~]# hash -d cat
[root@sre01 ~]# hash
hits command
1 /usr/bin/sudo
[root@sre01 ~]# hash -l
builtin hash -p /usr/bin/sudo sudo
[root@sre01 ~]# hash -r
[root@sre01 ~]# hash
hash: hash table empty