完整文件名所在的路径名称是什么?

20

对我来说,路径总是指“沿着某个路线走向某个地方”,但没有“那个地方”的部分。

就像一只鸡跟随面包屑直到找到目标。但目标不是路径的一部分。这就是我的看法。

所以,例如:C:/foo/bar = 路径,C:/foo/bar/something.html = 路径和“目标”。

有人能告诉我这里的正确术语是什么吗?如何称呼带有文件的路径?

“完整路径”? “全限定路径”? “路径+文件名”?(不够精确!“带有文件名和扩展名的路径”...太长了)

肯定有一个专门的名称。想知道!:)


2
路径可以指向文件系统上的任何对象,包括文件。包含文件名的路径只是一个路径。路径可以是相对的或绝对的,但这与路径中是否存在文件名无关。 - user229044
你现在使用的路径并不是文件本身,实际上文件就是内容。所以,在你的比喻中,目标就是文件中的内容,可能以<html>开头,以</html>结尾。因此,C:\foo\bar\something.html 的路径确实可以指引你到达目标。顺便提一下,“文件规范”或“文件规格”这个术语也可以使用。“完整的文件规范”会给出绝对位置(例如c:\foo\bar\something.html)。我在VMS时代学习了文件规范这个术语。这是在我学习Unix之前,Unix似乎更喜欢使用路径。在某些方面,我认为文件规范更好。 - GreenMatt
1
你可以查看这个链接:https://dev59.com/FXE95IYBdhLWcg3wm_Mu - nawfal
多年后重新阅读这句话,其中有一些深刻的意义:“没有终点,只有路径的结束。” - Aiden Bell
4个回答

17

不错的示例... 我认为你的意思是绝对路径

但是,无论路径指向什么,无论是目录、文件、设备还是其他内容,都没有关系。

维基百科说:

路径,即文件名或目录名的一般形式,指定了文件系统中唯一的位置。

它甚至不需要扩展名,因为其他机制可以确定文件类型。

  1. /foo/bar/file.txt = 绝对路径
  2. /foo/bar = 一个指向目录的绝对路径
  3. ../foo = 一个相对于当前目录的目录的相对路径
  4. ./file.txt = 一个相对于当前目录的文件的相对路径(Unix)
  5. file.txt = 也是一个相对路径

此外

系统可以使用绝对路径或相对路径。完整路径或绝对路径是指在一个文件系统上,无论工作目录或组合路径如何,都指向相同位置的路径。它通常是相对于根目录写的。

路径不区分文件和目录。路径始终是指向某个东西(文件或目录)的路径:

/a/b/c是指向c的路径,无论终点是什么类型(文件、目录、设备)。

还要查看basenames

basename是一个标准UNIX计算机程序,当给定路径名时,它将删除任何前缀直到最后一个斜杠('/')字符,并返回结果。basename在单一UNIX规范中描述,并主要用于shell脚本。


0

来自LINFO

路径是文件系统中对象(即文件、目录或链接)的地址。

很遗憾,您正在寻找一些不属于通用用法的术语。您需要定义自己的术语。


0
我认为无论“目标”类型如何,它都被称为“全名”,因为UNIX中的一切都是文件,包括目录。因此,如果foo 是目标(正如您所称呼的),那么foo就是名称,而C:\Direcotry\foo/usr/bin/foo就是foo的全名。

0

最近我也一直在思考这个问题,因为在Everything中,路径不包括“目标”本身。但是当我在维基百科上搜索时,它说目标是包括在内的。

在你的例子中,你默认假设面包屑的末尾只有“一个”目标。然后有人告诉鸡跟随面包屑,然后就可以到达目标。

如果末尾有两个对象怎么办?如果没有告诉鸡哪一个是目标,例如在路径中包括目标本身,那么鸡将永远不知道它的目标。

你也可以这样想:对于包含文件的路径,目标不是文件本身,而是文件的内容或文件的其他信息。

回到文件系统,假设一个文件夹中有几个文件。如果文件名不包括在其路径中,则它们都具有相同的路径,仅通过其路径无法找到特定的文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接