【问题标题】:What is the difference between a directory and a folder?目录和文件夹有什么区别?
【发布时间】:2011-07-02 00:14:15
【问题描述】:

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

这个contribution under English UI Terminology: Directory, or Folder?至少表明存在差异。

【问题讨论】:

标签: shell filesystems terminology directory


【解决方案1】:

查看Wikipedia 的“文件夹隐喻”部分。它指出:

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

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

【讨论】:

  • 历史注释:命令行 UNIX、VAX/VMS 和 MS-DOS 最初只使用“目录”。最初的 1970 年代 Xerox Star 引入了术语“文件夹”作为其“桌面隐喻”的一部分,这在 1980 年代的 Mac 中得到普及,并在包括 Windows 在内的后来的 GUI 中变得普遍。但在命令行中,它仍然是一个“目录”。
【解决方案2】:

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

Raymond Chen explains:

Windows 95 引入了 Windows 资源管理器 以及术语文件夹。 之间有什么关系 文件夹和目录?

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

Windows 资源管理器可让您查看 文件夹,它们是 外壳命名空间。目录是一个 文件夹类型,即文件夹 对应于文件系统位置。 还有其他类型的文件夹,例如 作为控制面板或网络 邻居或打印机。这些其他 文件夹类型代表对象 没有的 shell 命名空间 对应文件。在常见的用法中, 术语虚拟文件夹已 应用于引用文件夹 不是目录。换句话说,我们 有这个欧拉图:

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

一般来说,操作 shell 命名空间应该在 文件夹和项目,而不是目录和 文件,以免束缚自己 特定的存储介质。为了 例如,将自身限制为的代码 文件将无法导航到 Zip 文件,因为 Zip 的内容 文件以 虚拟文件夹。

【讨论】:

  • 为了吹毛求疵,一般/proc也不在磁盘上。
【解决方案3】:
  • 目录是一个文件系统概念。在 GUI 中,目录表示为 文件夹
  • 示例 1: Unix 系统,/usr/bin 在命令行控制台中查看时通常称为目录路径,但如果通过图形文件管理器访问,用户可以有时称它为文件夹。
  • 示例 2:Windows 同时使用 Directory(在 mkdircd 等命令中)和 Folder(在 GUI 中)。李>

目录:名称目录类似于电话目录:


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


类比:

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

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

【讨论】:

    【解决方案4】:

    Quoting Álvaro G. Vicario:

    在大多数情况下,它们是可互换的术语。目录是文件系统早期使用的一个经典术语,而文件夹是一种友好的名称,对 Windows 用户来说可能听起来更熟悉。

    主要区别在于文件夹是一个逻辑概念,不一定映射到物理目录。目录是文件系统对象。文件夹是一个 GUI 对象。 Wikipedia explains it this way:

    名称文件夹,类比 到办公室使用的文件夹, 最初由 Apple Lisa 使用,是 用于几乎所有现代操作 系统的桌面环境。文件夹 通常用图标描绘 视觉上类似于物理文件 文件夹。

    严格来说,有一个 目录之间的区别 是一个文件系统的概念,并且 图形用户界面隐喻 用于表示它(文件夹)。 例如,Microsoft Windows 使用 特殊文件夹的概念来帮助 显示计算机的内容 以相当一致的方式向用户发送 这使用户不必 处理绝对目录路径, 这可能因版本而异 窗户,以及个人之间 安装。

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

    【讨论】:

      【解决方案5】:

      我以前不知道这两个英文单词的区别,即使在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 中,文件夹 = 虚拟文件夹 + 文件系统目录。

      【讨论】:

        【解决方案6】:

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

        在我遇到的两个示例中,我的应用无法打开用户指定的路径名​​。其中一个示例与 OneDrive 相关;我不记得另一个例子的全部情况。无论如何,显示名称存储在名为 ms-properties:$DATA 的 ADS 中。

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

        【讨论】:

          【解决方案7】:

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

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

          不要期望人们知道何时使用哪个术语。我认为这些术语是可以互换的,因为了解这些差异的人太少了。

          【讨论】:

          • 这不是我要问的。
          猜你喜欢
          • 2014-03-23
          • 1970-01-01
          • 2019-07-10
          • 2012-09-26
          • 2021-08-29
          • 2016-07-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多