访问符号链接的程序与用户有何不同? (用符号链接替换文件会破坏哪些场景?)

访问符号链接的程序与用户有何不同? (用符号链接替换文件会破坏哪些场景?)

我想我了解软符号链接和硬符号链接是什么,但我不确定程序如何访问它们(而不是我,一个用户)。

例如,我想用位于其他地方的符号链接替换我的 ~/.bashrc 。当我作为一个用户打开这个文件,比如说在 Vim 中,我实际上正在编辑 ~/some/path/.bashrc (无论链接的类型)。这很好,但是程序呢?例如附加到 ~/.bashrc 的安装程序?

  1. 程序是否可以在任一“模式”下打开文件(是否遵循符号链接)?我的猜测是文件句柄在编程语言中,编译或解释为引用 inode,因此至少对于硬链接,它们总是遵循。

  2. 如果是软链接以任一模式打开,这在主要编程语言中是什么样子的?

  3. 如果程序对符号链接“盲目”,那么可以安全地假设我可以将 ~/.bashrc 软链接到 ~/some/path/.bashrc 并期望它能够顺利工作,只要该文件存在并保留与原始 ~/.bashrc 相同的权限?或者有什么奇怪的场景破坏它的功能?

我读过了

以及其他解释软链接和硬链接之间区别的答案,但有关符号链接的更多知识并不能让我在这方面感到有信心。

相关内容