如果我想为 中的可执行文件起别名/usr/local/bin
,是否有正确的方法来制作这样的别名?我怎样才能做一个?软链接?硬链接?还有什么?
例如,当我
apt-get install vim;
能力将别名/usr/local/bin/vi
为/usr/local/bin/vim
(如果我没记错的话)
如果我想为 中的可执行文件起别名/usr/local/bin
,是否有正确的方法来制作这样的别名?我怎样才能做一个?软链接?硬链接?还有什么?
例如,当我
apt-get install vim;
能力将别名/usr/local/bin/vi
为/usr/local/bin/vim
(如果我没记错的话)
从技术上讲,有一种“别名”默认应用程序的方法。您遇到的
sudo apt-get install vim
是Debian Alternatives System。基本上,该系统在
/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
它就会运行。无论你做什么,都不要硬链接。
例如,当您尝试删除文件时,硬链接会导致令人困惑的问题,因为如果您不记得将其删除两次,它仍然存在。
在程序的情况下,这可能会导致难以调试的行为,因为该程序可能仍然可以在硬链接位置找到。根据
PATH
环境变量的内容,它可以在不同的情况下执行到现在的情况。硬链接就像
goto
编程中的 s:从旧时代遗留下来的,现在被认为是有害的。