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