hash命令使用说明
1、命令概述
hash命令负责显示与清除命令运行时系统优先查询的哈希表(hash table)。
当执行hash命令不指定参数或标志时,hash命令向标准输出报告路径名列表的内容。此报告含有先前hash命令调用找到的当前shell环境中命令的路径名。而且还包含通过正常命令搜索进程调用并找到的那些命令。
2、命令语法
hash【选项】 【参数】
3、命令选项
-d<指令>:在哈希表中清除某个命令记录记录
-l:显示哈希表中的命令
-p<指令>:将具有完整路径的命令加入到哈希表中
-r:清除哈希表中的所有记录
-t<指令>:显示哈希表中命令的完整路径
4、命令示例
4.1 显示hash表中的命令:
1 [root@lzg ~]# hash 2 hits command 3 4 /usr/bin/tty 4 4 /usr/bin/who 5 2 /usr/bin/w
6 [root@lzg ~]# hash -l 7 builtin hash -p /usr/bin/tty tty 8 builtin hash -p /usr/bin/who who 9 builtin hash -p /usr/bin/w w
4.2 -p 向哈希表中添加命令:
1 [root@lzg ~]# hash -p /usr/sbin/adduser myadduser 2 [root@lzg ~]# hash -l 3 builtin hash -p /usr/bin/tty tty 4 builtin hash -p /usr/sbin/adduser myadduser 5 builtin hash -p /usr/bin/who who 6 builtin hash -p /usr/bin/w w
4.3 -d 删除哈希表中的某一条命令:
1 [root@lzg ~]# hash -d myadduser 2 [root@lzg ~]# hash -l 3 builtin hash -p /usr/bin/tty tty 4 builtin hash -p /usr/bin/who who 5 builtin hash -p /usr/bin/w w
4.4 -t 显示哈希表中命令的完整路径:
1 [root@lzg ~]# hash -t whoami 2 /usr/bin/whoami
4.5 -r 清除哈希表中的所有记录:
1 [root@lzg ~]# hash 2 hits command 3 4 /usr/bin/tty 4 1 /usr/bin/mv 5 4 /usr/bin/who 6 2 /usr/bin/whoami 7 2 /usr/bin/w 8 [root@lzg ~]# hash -r 9 [root@lzg ~]# hash 10 hash: hash table empty