为什么Windows使用反斜杠,而其他所有东西都使用正斜杠

你有没有注意到它在windows中是C:\windows\,在Web上是http://howtogeek.com/,在linux、osX和android上是/home/user/?Windows对路径使用反斜杠,而其他所有内容似乎都使用正斜杠。

当您键入错误类型的斜杠时,现代软件会尝试自动更正您,因此您大部分时间使用哪种类型的斜杠都无关紧要。但是,有时,差异仍然很重要。

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

那么,为什么Windows会是一个奇怪的操作系统呢?这一切都归因于几十年前发生的几起历史意外事件。

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

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

当时,人们并不真的在乎他们在另一个操作系统上使用的角色是否有不同的用途。

相关:Windows是否仍依赖MS-DOS?

MS-DOS2.0引入了对目录的支持,但是IBM希望保持与最初的DOS实用程序和其他期望将/字符用于开关的程序的兼容性。微软已经将/字符用于某些用途,所以他们不能简单地重用它。他们最终选择了\字符,因为它是视觉上看起来最相似的字符。

Windows可能不再建立在DOS之上,但是您仍然可以通过文件系统使用反斜杠和其他功能(如驱动器号)的方式在整个Windows中看到DOS的传统。

其中许多细节来自微软员工拉里·奥斯特曼(Larry Osterman)关于这个主题的博客文章,其中包含了做出这些决定的微软员工更详细的内部信息。

为什么其他所有东西都使用正斜杠

这些在今天都不会真正重要,但是Web浏览器遵循Unix约定,并使用/字符作为网页地址。典型的Windows用户在键入网址时会看到正斜杠,在键入本地文件夹位置时会看到反斜杠,因此这可能会让人感到困惑。网站遵循Unix约定,像FTP这样的其他协议也是如此。即使您在Windows机器上运行Web服务器或FTP服务器,它们也会使用正斜杠,因为这是协议要求的。

其他操作系统出于同样的原因使用正斜杠-这是Unix约定。Linux是一个类似Unix的操作系统,所以它使用相同类型的斜杠。MacOSX基于BSD,另一个类似Unix的操作系统。其他消费者操作系统,如Android、Chrome OS和Steam OS都是基于Linux的,所以它们使用相同类型的斜杠。

有关系吗?

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

DOS开发人员甚至在早期都对此不满意,所以他们让DOS接受两种类型的路径字符。今天,您仍然可以在命令提示符中键入像cdC:/Windows/这样的命令,您将被带到正确的文件夹。

然而,这并不是在Windows中所有地方都适用。如果在Open对话框中键入类似C:/Users/Public的路径并按Enter,您将看到一条错误消息,指出文件名无效。如果您尝试键入路径(如http:\\howgeek.com\),其他基于Web的应用程序可能会显示错误,这取决于程序是为您更正还是决定显示错误。

您通常会忘记有两种不同类型的斜杠,但偶尔也会有问题。如果每个人都对目录路径使用一致的分隔符,那就好了,但是Windows在历史上一直都是关于向后兼容的--即使在20世纪80年代初也是如此。

相关文章