关于shell中的hash缓存

shell里执行的命令有两种:

  内部命令(由shell自带)
        help:内部命令列表
        enable cmd:启用内部命令
        enable -n cmd:禁用内部命令
        enable -a:查看所有启用的内部命令


    外部命令:外部可执行程序文件
        which cmd:查看命令文件路径,列出首次匹配的路径
        which -a cmd:打印所有匹配路径
        which cmd --skip-alias cmd:打印除去别名的命令路径
        whereis:查找文件或目录

    查看命令类型:type command

Hash缓存表

系统初始Hash表是空的,如果系统重启也会清空,当外部命令执行是会到PATH里找该命令,然后记录在Hash里,当再执行时就到Hash里取,这样会加快执行速度。

Hash常见用法

hash  显示hash缓存

hash -l  显示hash缓存,包含hash别名

hash -p path name 给path起别名为name

hash -t name 打印name的path

hash -d name   清除name缓存

hash -r 清除所有缓存

shell搜索命令路径的先后顺序:别名->内部命令->Hash存储路径->硬盘里的路径

相关推荐