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存储路径->硬盘里的路径