“完全限定路径”是“绝对路径”的同义词
对于文件或目录,完全qulized路径是否只存在一件事?-像规范路径。
否,完全限定路径是任何不是相对路径的路径(不相对于隐含或指定上下文的当前目录)。多个但不同的完全限定路径可以引用文件系统上的同一位置。重读:
Java 中的 getPath()、getAbsolutePath() 和 getCanonicalPath() 有什么区别?
但用“完全合格”代替“绝对”,到处都是“绝对的”。
需要明确的是,有些人还会使用术语“相对路径”来指代其中带有“相对参考”(双点)的路径。例如,由于双点,有些人可能会称之为“相对路径”,但我会将其称为具有相对引用的完全限定路径。希望从对话中可以清楚地看出,当他们说“相对路径”(相对于上下文的路径或其中有相对引用的路径)时,他们的意思是什么。..
C:\Program Files\Microsoft\\..\temp.txt
它们都是完全相同的概念吗?
否,如另一个 SO 问题所示,有很多方法可以指定到某个位置的完全限定路径(绝对路径),但只有一个完全限定路径被视为到该位置的规范路径。
还有一件事,UNC 路径是否也属于完全限定路径?
是的,UNC 路径不是相对路径;它们是完全限定的路径。- http://msdn.microsoft.com/en-us/library/aa365247(v=VS.85).aspx#fully_qualified_vs._relative_paths
符号链接或硬链接是否属于完全限定路径?
这是一个独立的概念。路径(无论它是相对路径还是完全限定路径)都指向文件系统中的某个位置。该位置的实体可以是许多内容之一:普通文件,目录,符号链接,硬链接,设备,命名管道等。符号链接或硬链接具有元数据,这些数据指向您在该位置实际查找的数据。
类比时间
你可以从通往某人家的方向的角度来考虑路径和链接:
- 相对路径是从当前位置开始的方向
- 完全合格的路径是从市政厅出发的指示,无论您身在何处
- 在我们这个陌生的小镇Unixville,每个人都同意并隐含地理解“完全合格的方向”总是从市政厅开始,奇怪的是,这是一个每个人都称之为“”的建筑。
/
- 下一个城镇(Windowsville)有多个市政厅(城镇的每个部分一个),称为,,等。
C:\
D:\
E:\
- 不同的人可能会给你不同的方向(路径)到达同一所房子,即使他们都从同一个起点(市政厅)开始 - 有些方向会比其他方向更直接。
- 规范路径是完全合格的方向,是从市政厅到所需房屋的最简单,最直接的方法
- 符号链接就像一个空地,带有一个注释,为转发地址提供方向
- 将您带到这里的方向类型(无论是相对方向,完全合格的方向,甚至是规范的完全限定的方向)与它是否通向房屋或任何带有转发方向的空地块无关
- 有一个奇怪的情况,你方向上的一条街道实际上是一个象征性的链接(绕道?门户?) - 如果我们仔细观察它,这个类比就会在这里分崩离析,所以让我们忽略它:-)
- 硬链接是从两个或多个不同地址访问的房屋。
- 想想榆树街和主街拐角处的一所房子。邮局错误地给了它两个地址:和。无论你去哪个地址,你最终都会在同一所房子里。
10 Elm Str
20 Main Str
- 在我们这个陌生的小镇上,这些硬链接的房子可以有多个地址,这些地址不必彼此靠近。
- 无论你去哪个地址,它都是同一所房子。它不是副本,也不是转发地址。神奇的是,一旦你进去,你最终会在同一所房子里,不管你以前用哪个地址到达那里。
- 将您引导到房屋的方向(无论使用哪个地址,或者这些方向是否是相对方向,完全限定的方向,甚至是规范的完全限定方向)与该地址的房屋是否是硬链接房屋无关
补遗
编辑
我要求维护命名文件,路径和命名空间页面的人让我知道这一点。他回答我。
这是否也是完全限定路径?C:\directory..\目录\文件.txt
我想知道该页面的维护者会使用什么术语来区分它们,因为他称它们都是相对路径。我同意双点是一个相对参考,但我不会将整个路径标记为相对路径,因为它中间有双点。在他的术语中,完全限定和规范之间似乎没有区别。(我想,这就是你问题的根源)。..\file.txt
C:\directory\..\directory\file.txt
我来自Unix和Java背景,所以也许这有什么不同。据我所知:
所以
- ..\file.txt - 相对
- C:\directory\..\directory\file.txt - 完全限定
- C:\directory\file.txt - 完全限定和规范
MSDN页面的那一部分不清楚:如果被认为是相对的,并且不能与Windows API一起使用,这些API说他们需要一个完全限定的(但不一定是规范的?)路径,我建议该页面需要更清晰。C:\directory\..\directory\file.txt
C:\directory\..\directory\file.txt
完全限定与相对
如果文件名不以以下之一开头,则该文件名相对于当前目录:
... * 带有反斜杠的磁盘指示符,例如“C:\”或“d:\”。...
由于以带有黑斜杠的磁盘指示符开头,因此此路径是完全限定的,而不是相对的。C:\directory\..\directory\file.txt
如果路径包含“双点”,则也称其为相对路径;也就是说,在路径的一个组件中将两个周期放在一起。此特殊说明符用于表示当前目录上方的目录,也称为“父目录”。此格式的示例如下:
- "..\tmp.txt“指定一个名为 tmp 的文件.txt该文件位于当前目录的父目录中。
- “....\tmp.txt”指定的文件位于当前目录上方的两个目录上。
- "..\tempdir\tmp.txt“指定一个名为 tmp 的文件.txt该文件位于名为 tempdir 的目录中,该目录是当前目录的对等目录。
我将包含双点的短语解释为前导双点。这些示例仅显示前导双点。术语“当前目录”通常表示进程的当前工作目录或驱动器的当前目录,这仅在谈论前导双点时才有意义。但是,我可以看到如何以另一种方式解释该部分。
无论如何,每个人的成长都是不同的,上下文是王道,所以我想每个人在阅读文档或与不同背景的工程师讨论“完全合格”与“相对”的含义时都需要小心细微差别。