在 /usr/local/bin 中为二进制文件添加别名的正确方法是什么?

在 /usr/local/bin 中为二进制文件添加别名的正确方法是什么?

如果我想在中为可执行文件添加别名/usr/local/bin,是否有正确的有什么方法可以创建这样的别名?我该如何创建?软链接?硬链接?还是其他?
例如,当我

apt-get install vim;

Aptitude 将别名/usr/local/bin/vi/usr/local/bin/vim(如果我没记错的话)

答案1

从技术上讲,有一种方法可以为默认应用设置“别名”。您遇到的sudo apt-get install vimDebian 替代系统

基本上,该系统在/etc/alternatives/文件夹中有默认应用程序列表,这些应用程序是指向您拥有的任何默认应用程序的符号链接。在安装之前,vim您有vim.tiny,因此vi会符号链接到/etc/alternatives/vi,然后符号链接到/usr/bin/vim.tiny。一旦您获得实际的vim,这些符号链接都会更新为最终指向vim

当然,可以通过手动方式完成sudo update-alternatives --config vi。当然,没有什么可以阻止您在那里创建自己的符号链接。但是,对于不会有很多不同实现的程序,例如screen,您可以不去管它们。只要/usr/bin在您的$PATH变量中(它应该始终存在),您就可以输入它myappname,它就会运行。

答案2

不管你做什么,不要硬链接

例如,当你尝试删除文件时,硬链接会导致令人困惑的问题,因为如果你不记得删除它两次它还在那儿。

对于程序而言,这可能会导致难以调试的行为,因为程序可能仍位于硬链接位置。根据PATH环境变量的内容,它可能在与现在不同的情况下执行。

硬链接就像goto编程中的 s:一个古老时代的遗留,现在被认为有害

相关内容