路径中的正斜杠和反斜杠有什么区别?[重复]


9

可能重复:
为什么Windows为什么使用反斜杠作为路径而使用Unix正斜杠?

就远程和本地路径而言,正斜杠(/)和反斜杠(\)之间的主要区别是什么?

如果我没记错的话,反斜杠用于表示当前计算机或网络中的某些内容,例如C:\ Windows或\\ 172.12.1.34,而正斜杠用于表示当前计算机或网络中的外部或外部内容,例如作为http://www.google.com/

我想知道这是否是一个准确的解释,或者差异是否真的比这个更深,我给出的例子只是巧合。


3
Windows'\'世界其他地方'/'
mic84 2011年

1
您真的应该阅读已经在这里的答案,mic84。他们已经表明那是不正确的。
JdeBP

我放弃了它并试图删除对不起,我已经有这个页面开放的思维就被取消了对不起坐在这里
mic84

Answers:


11

Unix及其变体始终使用正斜杠(/)表示文件系统层次结构。

但是,Windows将其文件系统定界符反斜杠(\)归功于其MS-DOS的前身。而MS-DOS并不是其始创者。它是从QDOS操作系统(从CP / M借来的)中带来的,该操作系统是MS购买并重新制作为MS-DOS的。

由于大多数(如果不是全部)基于Web的协议起源于UNIX(HTTP,FTP等),因此Microsoft遵守这些分隔符以保持兼容性。


1
MS没有购买CP / M。MS购买了QDOS(Quick and Dirty DOS),它是CP / M的简单克隆,然后将其重新制成MS-DOS。
基思(Keith)

@keith-您的正确。修正了我的答案。
凯尔塔里(Keltari)2011年

4

那不是一个准确的解释。路径分隔符只是一个字符,一个令牌,在某种程度上是任意的,但通常选择标记自然分隔。反斜杠作为路径分隔符来自CP / M,DOS和Windows世系。斜线来自Unix以及之前的其他系统。

Internet URL路径分隔符被选择为斜线,因为大多数标准开发人员都熟悉Unix。Unix斜杠作为路径分隔符通常被认为是规范分隔符。它在键盘上的位置也使大多数需要多次输入的人更容易输入。

甚至跨平台脚本语言(例如Python)也使用斜杠指定路径的“规范化形式”。


1
还要注意VMS中的DCL。限定符前面有正斜杠,就像Microsoft一样command
JdeBP 2011年

2

在实现级别,windows将以与'\'相同的方式处理'/'。我只会使用'/'。这将使您所有的应用程序都具有可移植性。MySQL和python还将“ /”转换为系统上所需的内容,具体取决于它们使用哪种路径分隔符。

'\'在其他区域(例如正则表达式)以及某些终端和编程语言中用作转义符。这样可以确保将其后的下一个字符解释为文字字符,例如行尾的\ n \ r。

至于关于内部或外部系统的表示法,实际上并非如此。* / nix系统在早期比较流行'/'。微软随后开始流行,现在人们所期望的是“ \”。但是正如我提到的,Microsoft必须符合posix(关于操作系统如何运行的posix标准),这意味着您可以在大多数地方用'/'替换所有的'\',并且所有东西都可以正常工作。


0

通常这只是约定。

Windows似乎偏爱“ \”,而Linux和Unix似乎偏爱“ /”

您可以在Wikipedia上详细了解路径以及在不同系统上使用的各种符号。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.