我花了最后一个小时思考如何命名一处房产,这意味着与“已解决的物理真实路径”。
例如,我们假设/foo/bar/
是一条普通的物理路径。如果创建了一个/quux
仅指向 的符号链接,则将通过“符号链接路径”/foo
访问的所有内容引用是否合适......?/quux/foo/bar/
这主要是一个关于命名法的问题,因为我不确定是否有更准确的方法来引用未解析的路径名。我会使用“工作路径”,但这个术语听起来太特定于流程。
如果需要上下文,则用于文件系统 API,其中例程确定是否应对路径不完全物理的资源进行额外的系统调用。
答案1
如果你想真正迂腐的话,你可能会说没有真的诸如“物理路径”之类的东西。 Unix 有
绝对路径名:以单个或两个以上
<slash>
字符开头的路径名。相对路径名:不以字符开头的路径名
<slash>
。
如果路径名包含符号链接,它仍然是“路径名”。 POSIX 标准中没有其他术语。
但是,该pwd
实用程序有两个标志-P
和-L
,但没有指示这些字母的缩写:
-L
如果
PWD
环境变量包含当前目录的绝对路径名,并且该路径名不包含任何点或点-点组成部分,pwd
则应将此路径名写入标准输出,除非PWD
环境变量长于{PATH_MAX}
包含终止 null 的字节,未指定 pwd 是否将此路径名写入标准输出或表现得就像-P
已指定该选项一样。否则,该-L
选项应表现为该-P
选项。
-P
写入标准输出的路径名不应包含任何引用符号链接类型文件的组件。如果实用程序可以将多个路径名
pwd
写入标准输出,其中一个以单个<slash>
字符开头,一个或多个以两个<slash>
字符开头,则它将写入以单个<slash>
字符开头的路径名。路径名<slash>
在前导一两个字符之后不得包含任何不必要的字符<slash>
。
当然,也可以推断出其含义逻辑和身体的这两个标志,并且该实用程序的 GNU coreutils 版本甚至将这两个词作为长选项。
所以答案是“逻辑路径”。
答案2
嗯,其中有几个更口语化,而不是明确的,但是:
如果无论是否移动原始文件或链接,链接始终指向该文件Alias
(请注意,别名可用于读取文件和目录,但不能写入原始文件和目录)。
如果链接可以移动但文件不能移动,并且可以通过链接从链接的文件/目录读取数据,但不能写入数据,则应使用Soft Link
、Symlink
、 或。Shortcut
如果链接和目标都可以移动,并且可以通过链接从文件/目录读取数据或将数据写入文件/目录,则Hard Link
应该使用。
例如,当访问链接时,Symlink/Soft Link
系统将读取a 。 /foo/bar/
AnAlias
会/quux/foo/bar/
在读取时访问它,但/foo/bar/
在写入时会访问它,并且 a会在写入和读取时Hard Link
访问它。/quux/foo/bar/