相关疑难解决方法(0)

如何清除 Bash 的可执行文件路径缓存?

当我在没有指定可执行文件的完整路径的情况下执行程序时,Bash 必须搜索其中的目录$PATH才能找到二进制文件,似乎 Bash 会记住某种缓存中的路径。例如,我安装了从源代码到 的 Subversion 版本/usr/local,然后svnsync help在 Bash 提示符下键入。Bash 找到了/usr/local/bin/svnsync“svnsync”的二进制文件并执行了它。然后当我删除 Subversion 中的安装/usr/local并重新运行时svnsync help,Bash 响应:

bash: /usr/local/bin/svnsync: No such file or directory
Run Code Online (Sandbox Code Playgroud)

但是,当我启动一个新的 Bash 实例时,它会找到并执行/usr/bin/svnsync.

如何清除可执行文件路径的缓存?

bash cache executable

319
推荐指数
4
解决办法
9万
查看次数

为什么这么多程序存在于 PATH 中?

至少让我对桌面 Linux 感到困惑的一件事是,几乎所有东西都在我的 PATH 中。我的意思是所有桌面应用程序,包括 gnome-character-map 和 glchess 之类的东西。这些没有命令行界面可言,所以我想不出我会定期从终端启动这些的情况 - 在这种不太可能的情况下,我无法想象需要输入完整的内容会带来不便路径。它看起来很杂乱,但也许有一个很好的理由。

那么,为什么发生这种情况呢?对性能或可维护性有什么显着影响吗?

path executable directory-structure

10
推荐指数
1
解决办法
435
查看次数

标签 统计

executable ×2

bash ×1

cache ×1

directory-structure ×1

path ×1