linux 命令被 hash 缓存
假设有个叫 xxx 的程序,当你执行 type xxx
会看到这样。
$ type xxx
xxx 已被录入哈希表 (/usr/local/bin/xxx)
是因为 linux 会记录并缓存你使用过的命令的路径,假设原先这个命令在 /usr/local/bin/xxx
,后来你把它移到了另外的路径,例如 /bin/xxx
。 那么当你再次执行 xxx
会找不到对应程序,因为 hash 缓存的路径还是在 /usr/local/bin/xxx
。 你需要清空缓存,执行 hash -d xxx
即可。
参考: