hash - hash database access method
hase 命令:用来显示和清除哈希表,执行命令的时候,系统将先查询哈希表。
当你输入命令,首先在hash表中寻找,如果不存在,才会利用$PATH环境变量指定的路径寻找命令,然后加以执行。同时也会将其放入到hash table 中,当下一次执行同样的命令时就不会再通过$PATH寻找。以此提高命令的执行效率。
显示哈希表中命令使用频率
$ hashhits command 6 /usr/bin/svn 1 /bin/chown 3 /bin/bash 4 /usr/bin/git 12 /usr/bin/php 1 /bin/rm 1 /bin/chmod 1 /usr/bin/nmap 5 /bin/cat 13 /usr/bin/vim 3 /usr/bin/sudo 4 /bin/sed 2 /bin/ps 2 /usr/bin/man 23 /bin/ls
显示哈希表
$ hash -lbuiltin hash -p /usr/bin/svn svnbuiltin hash -p /bin/chown chownbuiltin hash -p /bin/bash bashbuiltin hash -p /usr/bin/git gitbuiltin hash -p /usr/bin/php phpbuiltin hash -p /bin/rm rmbuiltin hash -p /bin/chmod chmodbuiltin hash -p /usr/bin/nmap nmapbuiltin hash -p /bin/cat catbuiltin hash -p /usr/bin/vim vimbuiltin hash -p /usr/bin/sudo sudobuiltin hash -p /bin/sed sedbuiltin hash -p /bin/ps psbuiltin hash -p /usr/bin/man manbuiltin hash -p /bin/ls ls
显示命令的完整路径
$ hash -t git/usr/bin/git
向哈希表中增加内容
$ hash -p /home/www/deployment/run run$ runUsage: /home/www/deployment/run [OPTION]OPTION: development testing production branch {development|testing|production} revert {development|testing|production} backup release list list clean {development|testing|production} log conf list cron show cron setup cron edit
命令等同于
PATH=$PATH:$HOME/www/deploymentexport PATH
删除哈希表内容
$ hash -r$ hash -lhash: hash table empty