hash - hash database access method
hase 命令:用来显示和清除哈希表,执行命令的时候,系统将先查询哈希表。
当你输入命令,首先在hash表中寻找,如果不存在,才会利用$PATH环境变量指定的路径寻找命令,然后加以执行。同时也会将其放入到hash table 中,当下一次执行同样的命令时就不会再通过$PATH寻找。以此提高命令的执行效率。
显示哈希表中命令使用频率
$ hash
hits 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 -l
builtin hash -p /usr/bin/svn svn
builtin hash -p /bin/chown chown
builtin hash -p /bin/bash bash
builtin hash -p /usr/bin/git git
builtin hash -p /usr/bin/php php
builtin hash -p /bin/rm rm
builtin hash -p /bin/chmod chmod
builtin hash -p /usr/bin/nmap nmap
builtin hash -p /bin/cat cat
builtin hash -p /usr/bin/vim vim
builtin hash -p /usr/bin/sudo sudo
builtin hash -p /bin/sed sed
builtin hash -p /bin/ps ps
builtin hash -p /usr/bin/man man
builtin hash -p /bin/ls ls
显示命令的完整路径
$ hash -t git
/usr/bin/git
向哈希表中增加内容
$ hash -p /home/www/deployment/run run
$ run
Usage: /home/www/deployment/run [OPTION] <server-id> <directory/timepoint>
OPTION:
development <domain> <host>
testing <domain> <host>
production <domain> <host>
branch {development|testing|production} <domain> <host> <branchname>
revert {development|testing|production} <domain> <host> <revision>
backup <domain> <host> <directory>
release <domain> <host> <tags> <message>
list
list <domain> <host>
clean {development|testing|production} <domain> <host>
log <project> <line>
conf list
cron show
cron setup
cron edit
命令等同于
PATH=$PATH:$HOME/www/deployment
export PATH
删除哈希表内容
$ hash -r
$ hash -l
hash: hash table empty