好的,所以我正在系统中玩耍.我复制了GNU字数统计程序:
cp /usr/bin/wc /usr/bin/wcx
然后我在桌面上的文本文件上运行了wc,并得到了预期的结果:
53 79 907 /home/me/Desktop/mytextfile.txt
rm /usr/bin/wc
现在,在这一点上,我应该注意,此终端中的PATH是:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/bin:/sbin:/bin:/usr/games: [ETC]
现在,当我运行相同的命令时:
wc /home/me/Desktop/mytextfile.txt
我回来了:
bash: /usr/bin/wc: No such file or directory
现在,很明显,当我删除它时,它应该找不到wc二进制文件.符合预期.但是奇怪的是,bash似乎已经“记住”它最后一次在PATH上找到程序的位置,因为它表明它在/usr/bin中找不到它.
这是bash的实际功能吗?是否有一个缓存,一旦它在PATH中搜索了二进制文件,便知道返回该位置以备将来对该二进制文件的请求?
感谢您帮助清除此问题!
解决方法: