创建符号链接时什么时候应该使用绝对路径名?

创建符号链接时什么时候应该使用绝对路径名?

我在这里和几本书中读到,使用相对路径创建符号链接是首选,因为如果您移动链接和文件,它不会中断。我想知道我们是否应该始终创建相对路径符号链接?例如,如果我想链接/etc/passwd到当前目录,我应该使用绝对路径还是相对路径?

ln -rs /etc/passwd passwd-symlink将创建相对路径链接,但这有必要吗?

答案1

对此可能没有一个明确的答案,并且在许多情况下,符号链接目标是相对还是绝对并不特别重要。

如果存在以下任一情况,则使用相对符号链接可能是个好主意,因为该链接在这些情况下将保持有效:

  • 如果目标位于同一目录树中并且可以移动整个目录树
  • 如果目标位于同一文件系统中,并且在将来的某个挂载中将其挂载到其他位置(可能在救援实时环境或容器或另一个系统上)

但是,如果满足以下任一条件,绝对链接可能会更好

  • 目标位于完全不同的目录中,其中正确的序列数量../可能不清楚
  • 您想要指向一个与当前目录无关的非常具体的文件(例如,/etc 中的配置文件可能)
  • 如果您想非常清楚这指向什么文件,当实际链接可能变成指向符号链接或遍历目录符号链接的目标的符号链接迷宫时......

相关内容