在 /bin 中创建到可执行文件的软链接有什么优点/缺点?

在 /bin 中创建到可执行文件的软链接有什么优点/缺点?

我经常使用这种方法使我的可执行文件出现在终端中。这是好还是坏?为什么?

答案1

在 中保留可执行文件的符号链接并没有什么错/bin。事实上,与将每个可执行文件的路径都放在 中相比,这可能是管理可执行文件的一种非常干净的方式$PATH

因此,例如,/usr/local/bin:/usr/bin:/bin在您的 中$PATH,您将拥有/home/user/foo/bin:/home/user/bar/bin:/yet/another/bin:/usr/local/bin等,而这很难维护。此外,您必须为所有 shell 设置自定义路径,而只需将符号链接放入 中,即可/bin立即将其提供给任何 shell。

但这是你的选择。通常,程序必须有一个FOO_HOME变量集,指向它们的目录,例如TOMCAT_HOME,其中包含bin它自己的目录。


也许您应该考虑使用/usr/bin而不是/bin,因为后者通常保留用于所有用户可用的必要系统二进制文件,而/usr/bin用于非必要二进制文件。

更好的方法是使用/usr/local/bin,因为/usr/local是您作为用户自己安装的任何内容的默认位置 — 因此任何不属于默认系统安装的内容。如果/usr/local/bin不在您的 中$PATH,您当然应该添加它。

要了解有关目录组织的更多信息,请阅读文件系统层次标准

答案2

/bin用于内核使用的可执行文件。/usr/bin/我认为是用于发行版的包管理器。您可以自由地添加指向可执行文件的链接,/usr/local/bin通常您编译的软件会自行安装到可执行文件中。make install

理想的方法是添加~/bin到您的路径,在您的主目录中创建该文件夹并使用该文件夹。

/bin当然,所有这些主要都与整洁、优雅、正确性等有关。只要您正确地执行并且从未犯过错误,我想不出直接链接存在合理的技术缺陷。

相关内容