为什么Windows使用反斜杠而其他所有内容都使用正斜杠

您是否注意到Windows中的C:\ Windows \,网络上的//howtogeek.com/和Linux,OS X和Android上的/ home / user /? Windows将反斜杠用作路径,而其他所有东西似乎都使用正斜杠。

当您输入错误的斜杠类型时,现代软件会尝试自动纠正您,因此您大多数时间使用哪种斜杠都没有关系。但是,有时差异仍然很重要。

Windows为什么使用反斜杠:历史

那么,为什么Windows成为奇怪的操作系统呢?这全都归功于几十年前发生的几起历史事故。

Unix在1970年左右引入了正斜杠字符(即/字符)作为其目录分隔符。我们真的不知道他们为什么选择这个,而是他们选择的那个。

今天很难想象,但是Microsoft DOS的原始版本(即MS-DOS 1.0)在1981年发布时根本不支持目录。DOS附带的大多数实用程序都是由IBM编写的,并且它们使用了/字符作为“切换”字符。您今天仍然可以在命令提示符下看到此内容-运行命令 目录/ w 告诉dir命令在运行命令时使用宽带列表格式选项运行 目录C:\ 告诉dir命令列出驱动器C:\的内容。此处的不同类型的斜杠表示您是指定选项还是目录路径。 (在Unix上,使用-字符代替/字符来表示开关。)

当时,人们并不十分在意自己使用的字符是在另一个操作系统上用于其他目的的。

有关的:Windows是否仍然依赖MS-DOS?

MS-DOS 2.0引入了对目录的支持,但是IBM希望与原始DOS实用程序和其他期望/字符用于开关的程序保持兼容。微软已经在某些字符上使用了/字符,因此他们不能仅仅重复使用它。他们最终选择了\字符,因为它是外观上最相似的字符。

Windows可能不再基于DOS构建,但是您仍然可以通过反斜杠和其他功能(例如驱动器号)用于文件系统的方式在整个Windows上看到DOS的遗留物。

其中许多细节来自Microsoft员工Larry Osterman关于该主题的博客文章,其中包含做出这些决定的Microsoft员工的详细内部信息。

为什么其他所有内容都使用正斜杠

今天,这一切都不重要,但是网络浏览器遵循Unix约定,并在网页地址中使用/字符。典型的Windows用户在键入网址时会看到一个正斜杠,而在键入本地文件夹的位置时会看到一个反斜杠,因此这可能会造成混淆。网站遵循Unix约定,FTP等其他协议也遵循。即使您在Windows计算机上运行Web服务器或FTP服务器,它们也会使用正斜杠,因为这就是协议的要求。

出于相同的原因,其他操作系统使用正斜杠-这是Unix约定。 Linux是一种类似Unix的操作系统,因此它使用相同类型的斜杠。 Mac OS X基于另一个类似于Unix的操作系统BSD。其他消费者操作系统(例如Android,Chrome OS和Steam OS)基于Linux,因此它们使用相同类型的斜杠。

有关系吗?

更有趣的问题是它是否真的重要。浏览器和操作系统开发人员似乎认识到用户很困惑,因此他们经常不顾一切地接受任何可能的斜线。如果您在Google Chrome,Mozilla Firefox或Internet Explorer中键入http:\ howtogeek.com \,浏览器将自动将其更正为//howtogeek.com/并正常加载网站。如果您在Windows资源管理器中输入C:/ Users / Public并按Enter,它将自动更正为C:\ Users \ Public,您将被带到正确的位置。

DOS开发人员甚至在早期都不满意,因此他们使DOS接受两种类型的字符作为路径。您仍然可以在今天的命令提示符下键入cd C:/ Windows /之类的命令,您将被带到正确的文件夹。

但是,这在Windows中并非在所有地方都有效。如果您在“打开”对话框中键入C:/ Users / Public之类的路径,然后按Enter键,则会看到一条错误消息,提示文件名无效。如果您尝试键入http:\ howtogeek.com \之类的路径,还有其他基于Web的应用程序可能会向您显示错误-这取决于程序是为您更正还是决定显示错误。

您通常会忘记,有两种不同类型的斜杠,但有时确实很重要。如果每个人都为目录路径使用一致的分隔符,那将是很好的选择,但是Windows一直以来都是关于向后兼容性的,即使是在1980年代初期。


$config[zx-auto] not found$config[zx-overlay] not found