命令:hash
2019-02-25 16:08:56来源:博客园 阅读 ()
简介
hash命令是bash的内置命令。
我们知道在bash中执行外部命令,会根据环境变量PATH来逐一搜索命令的路径。
hash就是用于记住命令的路径,并且在下次执行命令的时候直接通过hash获取而不再通过PATH一步步寻找,加快了寻找命令的速度。
hash就像是命令的缓存。
语法
hash [-lr] [-p pathname] [-dt] [name ...]
语法中的name就是每个命令的名称,例如:ls、grep、cat等。
选项与示例
当不使用任何选项和参数的时候,hash命令可以输出当前所记住的命令以及其缓存命中次数。
一开始没有执行外部命令的时候,hash是空的。
[root@C7 ~]# hash
hash: hash table empty
执行了几个命令之后。如果某些命令有重复执行,那么命中数会大于1。
[root@C7 ~]# hash hits command 1 /usr/bin/grep 1 /usr/bin/tail 1 /usr/bin/head 2 /usr/bin/ls
-d:删除已记住的命令的路径。
[root@C7 ~]# hash hits command 1 /usr/bin/grep 1 /usr/bin/ls [root@C7 ~]# hash -d grep [root@C7 ~]# hash hits command 1 /usr/bin/ls
-l:也是输出当前缓存中的内容,只不过输出的格式可用于输入或者再执行。
[root@C7 ~]# hash -l builtin hash -p /usr/bin/ls ls
-p pathname:为某个命令手动设置路径。一般用于当命令的位置发生改变的情况。若出现该情况也可以使用-d删除缓存再重新执行一遍。
注意:如果指定了一个错误的路径的话,那么命令就无法使用了,如下所示。
[root@C7 ~]# hash -p /tmp/grep grep [root@C7 ~]# hash hits command 0 /tmp/grep 0 /usr/bin/tail [root@C7 ~]# grep 'root' /etc/passwd -bash: /tmp/grep: No such file or directory
-r:清空缓存列表。
[root@C7 ~]# hash hits command 1 /usr/bin/sort 1 /usr/bin/cat 1 /usr/bin/ls [root@C7 ~]# hash -r [root@C7 ~]# hash hash: hash table empty
-t:显示在缓存中,命令的对应路径。命令不在缓存中则会报错。
[root@C7 ~]# hash hits command 1 /usr/bin/head 1 /usr/bin/du 1 /usr/bin/cat 1 /usr/bin/less 1 /usr/bin/ls [root@C7 ~]# hash -t ls /usr/bin/ls [root@C7 ~]# hash -t less /usr/bin/less [root@C7 ~]# hash -t ls less grep ls /usr/bin/ls less /usr/bin/less -bash: hash: grep: not found
hash name:如果仅带参数不带选项的话,hash可用于清空具体命令的缓存命中次数。这个功能是不小心发现的,在“help hash”中并无说明。
[root@C7 ~]# hash hits command 1 /usr/bin/head 5 /usr/bin/wc [root@C7 ~]# hash wc [root@C7 ~]# hash hits command 1 /usr/bin/head 0 /usr/bin/wc
原文链接:https://www.cnblogs.com/alongdidi/p/10419553.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- awk命令详解 2020-06-10
- 运行 docker .... 命令报错 2020-06-10
- 一个骚命令防止你的文件被误删除! 2020-06-08
- ubuntu之命令相关问题 2020-06-06
- linux的常用命令 2020-06-04
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash