我想我了解软符号链接和硬符号链接是什么,但我不确定程序如何访问它们(而不是我,一个用户)。
例如,我想用位于其他地方的符号链接替换我的 ~/.bashrc 。当我作为一个用户打开这个文件,比如说在 Vim 中,我实际上正在编辑 ~/some/path/.bashrc (无论链接的类型)。这很好,但是程序呢?例如附加到 ~/.bashrc 的安装程序?
程序是否可以在任一“模式”下打开文件(是否遵循符号链接)?我的猜测是文件句柄在编程语言中,编译或解释为引用 inode,因此至少对于硬链接,它们总是遵循。
如果是软链接能以任一模式打开,这在主要编程语言中是什么样子的?
如果程序对符号链接“盲目”,那么可以安全地假设我可以将 ~/.bashrc 软链接到 ~/some/path/.bashrc 并期望它能够顺利工作,只要该文件存在并保留与原始 ~/.bashrc 相同的权限?或者有什么奇怪的场景能破坏它的功能?
我读过了
- 如何使用 git 有效地跟踪 .bashrc (和类似的)?(没有答案。)
- 将 $HOME 放入 git 而不是符号链接点文件是否存在陷阱?(我不想要这个设置。)
以及其他解释软链接和硬链接之间区别的答案,但有关符号链接的更多知识并不能让我在这方面感到有信心。