2

链接应始终指向绝对路径而不是指向当前目录是一种好习惯吗?

我在谈论这个参考 - 我需要维护软件并且它的所有以前的版本应该总是指向最新版本。

4

4 回答 4

2

定义“良好实践”。链接是否指向绝对路径取决于文件之间的关系。

如果文件始终处于相同的相对位置,但可以四处移动(例如 中的别名bin/),则它们应该是相对的。如果实际文件位于已知位置(例如,您希望将默认配置文件链接到~/.config),则使用绝对路径。

于 2009-04-15T19:58:33.687 回答
0

我不认为我可以同意这一概括。

在某些情况下,相对链接更有意义。例如,使用项目的目录树。如果项目被备份,或移动(甚至复制)到另一个地方,绝对链接可能会令人困惑和/或灾难性的。

即使您谈论的是系统范围的工具,也会有相对链接有意义的情况,而其他时候则不然。将链接到一个非常通用的工具(如 grep )与位于同一主机上的 gnu 编译器工具的多个版本和目标风格进行比较。在后一种情况下,可能需要指向特定工具版本的绝对链接。

这一切都回到了你在每种情况下真正想做的事情。一般的答案是没有普遍的答案。

于 2009-04-15T21:24:56.040 回答
0

取决于你想做什么。我的 Linux 系统有两种符号链接。

find /usr /bin /lib -type l -print0 | xargs -0 ls -ld | less
于 2009-04-15T20:03:55.563 回答
0

我不认为有一个“好的做法”。有不同的用例。

例如,如果我在 /home/.../application 中存储一个本地安装程序的树,我可能希望将“默认配置”符号链接到一些没有绝对路径的特定配置。这样,当我将整个树移动到 /home/.../application-other-instance 时,配置文件的链接保持正确。

另一方面,如果我想在本地目录中引用 /etc/... 中的某个全局文件,我将使用绝对路径符号链接来完成。这保证了我在移动的任何地方都指向同一个文件。

想想你想要实现什么,相对/绝对路径的决定要么是显而易见的,要么是不相关的。只有“从不这样做”的规则可能是:永远不要通过../../../../../../../xxx 链接到根目录/xxx 中的任何内容

于 2009-04-15T20:04:50.613 回答