В чем разница между косыми и косыми чертами в дорожках? [Дубликат]

9

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

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

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

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

Шон
источник
3
Windows '\' Остальной мир '/'
mic84
1
Вы действительно должны прочитать ответы, которые уже здесь, mic84. Они уже показали, что это не так.
JdeBP
я бросил его и попытался удалить извините, я сидел здесь с открытой страницей, думая, что она была отменена извините
mic84

Ответы:

11

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

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

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

Keltari
источник
1
MS не покупала CP / M. MS купила QDOS (Quick and Dirty DOS), который был простым клоном CP / M, и переработала его в MS-DOS.
Кит
@keith - ты прав. Исправлен мой ответ.
Келтари
4

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

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

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

Кит
источник
1
Также обратите внимание на DCL в VMS. Квалификаторам предшествуют косые черты , как и в Microsoft command.
JdeBP
2

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

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

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

nelaaro
источник
0

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

Windows, кажется, одобряет '\', в то время как Linux и Unix, кажется, одобряют '/'

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

MaQleod
источник