目录和文件夹有什么区别?

大多数人使用术语“文件夹”和“目录”可以互换。从程序员的角度来看,有区别吗? 如果有,是什么?它是否取决于操作系统,还是有一个广泛的,普遍的共识?

这个 在 < em > 英文用户界面术语: 目录或文件夹下的贡献? 至少表明有一个区别。

94754 次浏览

查看 维基百科的“文件夹隐喻”部分,它说:

目录是一个文件系统概念,它与用来表示它的图形用户界面(文件夹)是有区别的。例如,Microsoft Windows 使用特殊文件夹的概念,以相当一致的方式向用户显示计算机的内容,从而使用户不必处理绝对目录路径,这种路径在不同版本的 Windows 和不同安装之间可能有所不同。...

如果指的是一个文档容器,术语文件夹更合适。术语“目录”指的是计算机上存储文档文件和文件夹的结构化列表的方式。区别在于访问目录的方式; 在 Unix 系统中,在命令行控制台中查看时,/usr/bin/通常被称为目录,但如果通过图形文件管理器访问,用户有时可能称其为文件夹。

您的链接基本上描述了在技术基础上的不同之处。大多数情况下,人们可以互换地使用它们,他们选择哪一个主要取决于他们来自什么样的环境。

除非您正在为修改文件的应用程序进行跨平台开发,否则不需要知道其中的区别。一旦您准备使用几种不同的文件系统类型,就应该知道它们之间的区别。

不要指望人们知道什么时候该用哪个词。我认为这些术语是可以互换的,因为知道这些差异的人太少了。

文件夹不一定是磁盘上的物理目录。例如,它可以是 Windows 中的打印机文件夹或控制面板文件夹。

雷蒙德•陈(Raymond Chen)解释道:

Windows95引入了文件资源管理器 随之而来的还有术语文件夹。 这两者之间的关系是什么 文件夹和目录?

有些人认为 Windows95 将目录重命名为文件夹,但 其实不止这些。

文件资源管理器可让你浏览 文件夹中的容器 Shell 命名空间 文件夹的类型,即 与文件系统位置相对应。 还有其他类型的文件夹,如 作为控制面板或网络 社区或者印刷厂 中表示对象的文件夹类型 不包含 与文件对应。通常情况下, 术语虚拟文件夹已被 应用于引用文件夹,这些文件夹是 而不是目录。换句话说,我们 有这个欧拉图:

(虚拟文件夹 = 文件夹- 目录)

通常,操作 Shell 命名空间应该在 文件夹和项目,而不是目录和 文件,以便不将自己绑定到 一种特殊的存储介质 例如,将自己限制为 文件将无法导航到 压缩文件,因为一个压缩文件的内容 文件以 虚拟文件夹。

引用 Álvaro G. Vicario 的话

大多数时候,它们是可以互换的术语。目录是早期文件系统使用的一个经典术语,而文件夹是一种友好的名称,Windows 用户可能更熟悉。

主要区别在于,文件夹是一个逻辑概念,不一定映射到物理目录。目录是文件系统对象。文件夹是 GUI 对象。返回文章页面

名称文件夹,进行类比 到办公室使用的文件夹, 最初由苹果丽莎公司使用 用于几乎所有的现代操作 系统的桌面环境。文件夹 通常用图标来描绘 在视觉上与物理文件相似 文件夹。

严格来说,有一个 目录之间的差异 是一个文件系统概念,而 图形用户界面的比喻 用于表示它(一个文件夹)。 例如,MicrosoftWindows 使用 特殊文件夹的概念来帮助 显示计算机的内容 以一种相当一致的方式传递给用户 这样用户就不必 处理绝对目录路径, 不同版本的 窗口之间,以及个人之间 装置。

如果指的是一个容器 文件夹中,术语文件夹较多 适当。术语目录指 以结构化的方式列出 存储文档文件和文件夹 在计算机上。它相当于一个 电话簿 姓名、电话号码和地址清单 并不包含实际的 文件本身。

  • 目录 是一个文件系统概念。
  • 示例1: Unix 系统,在命令行控制台中查看 /usr/bin时,通常将其称为目录路径,但如果通过 图形文件管理器图形文件管理器访问,用户有时可能称其为文件夹。
  • 示例2 : Windows 同时使用 目录(在 mkdircd等命令中)和 文件夹(在 GUI 中)。

Directory : name 目录表示类似于电话簿:

Image of a telephone directory


文件夹 : 名称文件夹与办公室中使用的文件夹类似:

Image of office folders


类比:

  • 文件夹就像一个房间。
  • 目录就像是知道所有房间的酒店管理员。

如果需要特定的文件夹,请使用该目录。如果你想要一个特定的房间,你可以问酒店管理员。 来源

文件资源管理器(以前称为文件资源管理器)中显示的文件夹的名称不一定与它们所代表的目录相同。考虑这样一种情况,即您试图以编程方式打开一个特定的文件夹,一个大容量存储上的普通目录,而不是一个虚拟存储。假设这是由用户根据“文件资源管理器”中显示的名称指定的。此名称可能已被目录上的替代数据流(ADS)中的信息覆盖,并且您的程序将不会通过其真正的路径名来引用该文件。

在我遇到的两个例子中,我的应用程序无法打开用户指定的路径名。其中一个例子与 OneDrive 有关; 我不记得另一个例子的完整情况了。总之,显示名称存储在名为 Ms-properties: $DATA的 ADS 中。

您可以使用 CMDEXE 列出 ADS 使用 DIR/R 重命名这些文件夹使用文件资源管理器中的属性菜单项更改此 ADS 的内容,并且在文件资源管理器中显示给最终用户的名称是他或她键入的。但此过程不会重命名目录。

我以前不知道这两个词在英语中的区别,即使在 Windows 注册表编辑器中,我也能在 HKEY_CLASSES_ROOT下找到两个子键 FolderDirectory

在注册表中手动创建一些值并观察上下文菜单项的差异之前,我并不知道其中的差异。如果我只在 HKEY_CLASSES_ROOT\Folder\shell下创建一个节点,我发现它出现在虚拟文件夹(又名 system directory)(如 Recycle Bin)和文件系统目录(如 C:\Windows)的上下文菜单中。

如果仅在 HKEY_CLASSES_ROOT\Directory\shell下创建节点,则它只出现在文件系统目录的上下文菜单中,如 C:\Windows,而不出现在虚拟文件夹中。正如@AntonyW 所说,在 Windows 中,文件夹 = 虚拟文件夹 + 文件系统目录。

文件夹用于对项进行分组。

目录有索引,用于查找特定项目。