9

Возможный дубликат:
Почему Windows использует обратную косую черту для путей и прямую косую черту Unix?

В чем основное различие между косой чертой (/) и обратной косой чертой (\) в отношении путей, как удаленных, так и локальных?

Если я правильно помню, обратная косая черта используется для обозначения чего-либо в текущем компьютере или сети, такой как C:\Windows или \\172.12.1.34, в то время как прямая косая черта используется для обозначения чего-либо, что находится вне или вне текущего компьютера или сети, например как http://www.google.com/.

Я хотел бы знать, является ли это точным объяснением или разница на самом деле глубже, чем это, и примеры, которые я привел, просто случайны.

4 ответа4

11

Unix и его варианты всегда использовали косую черту (/) для обозначения иерархии файловой системы.

Однако Windows обязана своим разделителем файловой системы, обратной косой чертой (\), своему предшественнику MS-DOS. И MS-DOS не был создателем этого. Он был перенесен из операционной системы QDOS (которая позаимствована у CP/M), которую MS купила и переработала в MS-DOS.

Поскольку большинство, если не все, веб-протоколы были созданы в UNIX (HTTP, FTP и т.д.), Microsoft соблюдает эти разделители для обеспечения совместимости.

4

Это не точное объяснение. Разделитель пути - это просто символ, токен, который несколько произвольный, но обычно выбирается для обозначения естественного разделения. Обратная косая черта как разделитель путей происходит от происхождения CP/M, DOS и Windows. Косая черта происходит от Unix и, возможно, других систем до него.

Разделитель пути URL-адреса в Интернете был выбран как косая черта, поскольку большинство разработчиков стандартов знакомы с Unix. Косая черта Unix как разделитель пути обычно считается каноническим разделителем. Его расположение на клавиатуре также позволяет набирать текст большинству людей, которым приходится много вводить.

Даже кроссплатформенные языки сценариев, такие как Python, используют косую черту - это "нормализованная форма" указания путей.

2

На уровне реализации окна будут обрабатывать «/» так же, как и «\». Я бы просто использовал «/». Это сделает все ваши приложения переносимыми. MySQL и python также переводят '/' в то, что вам нужно в вашей системе, в зависимости от того, какой разделитель пути они используют.

'\' Используется в других областях, таких как регулярные выражения, и некоторые терминалы и языки программирования в качестве escape-символа. Это обеспечит следующий символ, следующий за ним, будет интерпретирован как буквальный символ, такой как \n \r в конце строк.

Что касается обозначений относительно внутренних или внешних систем, то это не совсем так. '/' Был более популярен на ранних этапах систем * nix. Microsoft стала популярной, и теперь люди ожидают этого. Но, как я уже упоминал, Microsoft должна быть posix (posix стандарт того, как должны работать операционные системы), что означает, что вы можете заменить все символы «\» на «/» в большинстве мест, и все будет работать без проблем.

0

В основном это просто соглашение.

Похоже, что Windows предпочитает «\», а Linux и Unix - «/»

Вы можете подробно прочитать о путях и различных обозначениях, используемых в разных системах в Википедии.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .