Меня раздражает использование Unix в колледже и работа на стороне Windows. Какова история этого решения? Кто-нибудь знает, почему так получилось?
Меня раздражает использование Unix в колледже и работа на стороне Windows. Какова история этого решения? Кто-нибудь знает, почему так получилось?
Ответы:
Unix представил /
как разделитель каталогов где-то в 1970 году. Я не знаю, почему именно этот символ был выбран; Предок системы Multics используется >
, но дизайнеры Unix уже использовали >
вместе с <
для перенаправления в оболочке (см. Почему корневой каталог обозначен /
знак? ).
MS-DOS 2.0 введен \
в качестве разделителя каталогов в начале 1980-х годов. Причина /
MS-DOS 1.0 (который вообще не поддерживал каталоги) уже использовался /
ввести параметры командной строки. Потребовалось это использование /
от CP / M который взял это у VMS , Вы можете прочитать более подробное объяснение того, почему был сделан этот выбор. в блоге Ларри Остермана (MS-DOS даже кратко имел возможность изменить опцию символа на -
и разделитель каталогов для /
, но это не прилипало).
/
это признается большинством API уровня программиста (во всех версиях DOS и Windows). Таким образом, вы можете часто, но не всегда сойти с рук с помощью /
в качестве разделителя каталогов под Windows. Заметным исключением является то, что ты не можешь использовать /
в качестве разделителя после \\?
префикс который (даже в Windows 7) является единственным способом указать путь, используя Юникод или содержащий более 260 символов.
Поддержка некоторых элементов пользовательского интерфейса /
в качестве разделителя каталогов под Windows, но не все. Некоторые программы просто передают имена файлов в базовый API, поэтому они поддерживают /
а также \
индифферентно. В интерпретаторе команд (в command.com
или же cmd
), ты можешь использовать /
во многих случаях, но не всегда; это частично зависит от версии Windows (например, cd /windows
работает в XP и 7, но не в Windows 9x). Поле ввода пути Explorer принимает /
(по крайней мере, начиная с XP; возможно, потому что он также принимает URL-адреса). С другой стороны, стандартный диалог открытия файла отклоняет косые черты ,
/
распознается как разделитель каталогов командной строкой MS-DOS или Windows.
/
принимается в командной строке? Например, что делает dir /p
делать? а также dir c:/p
? а также c:/windows/notepad.exe
? а также start /windows/notepad.exe
? и т. д. (у меня нет машины Windows для тестирования.)
/
вероятно, использовался в качестве разделителя каталогов в UNIX, потому что это был простой (не смещенный) ключ для удара по телетайпу. Не смещенные специальные символы были : - ; , . /
,
/
(а также -
для коммутаторов), как Xenix, и вдохновлен Xenix, но IBM выпустила до того, как Microsoft отправила OEM-производителям, и IBM использовала ` (and
/ `для переключателей) и изменил приглашение A:
в A>
поэтому они изменили значение по умолчанию и отправили глючные /
/ -
) документация плюс примечание, что она была изменена и почему.
лежащий в основе Windows API может принимать обратную косую черту или косую черту для разделения каталогов и файловых компонентов пути, но соглашение Microsoft состоит в том, чтобы использовать обратную косую черту, а API, которые возвращают пути, помещают обратную косую черту.
MS-DOS 2.0 скопировал иерархическую файловую систему из Unix и, таким образом, использовал косую черту, но (возможно, по настоянию IBM ) добавили обратную косую черту, чтобы можно было вводить пути в командной оболочке, сохраняя совместимость MS-DOS 1.0 а также CP / M где косая черта была индикатором опции командной строки.
сравнить
dir/w
который показывает текущий каталог в широком формате против
dir\w
который управляет w
файл в директоре dir
,
Рекомендации: