меня раздражает, что я использовал Unix в колледже и теперь работаю на стороне Windows. Какова история этого решения? Кто знает, почему так получилось?
Почему Windows использовать обратные слеши в пути и Unix Слэш?
2 ответа
Unix и представила /
в качестве разделителя каталогов где-то в 1970 году. Я не знаю, почему именно этот персонаж был выбран; система предков Multics использовала >
, но конструкторы Unix уже использовали >
вместе с <
для перенаправления в оболочке (см. почему корневой каталог обозначается /
знак?).
MS-DOS 2.0 введена \
в качестве разделителя каталогов в начале 1980-х годов. Причина /
не использовался разве что MS-DOS 1.0 (который вообще не поддерживал директории) уже использовал /
для ввода параметров командной строки. Потребовалось такое использование /
с CP / M, который забрал его из VMS. Вы можете прочитать более подробное объяснение, почему этот выбор был сделан на блоге Ларри Остермана (MS-DOS даже на короткое время имел возможность изменить символ опции на -
и разделитель каталогов /
, но это не придерживаться.)
/
распознается большинством API уровня программиста (во всех версиях DOS и Windows). Таким образом, вы можете часто, но не всегда уйти с помощью /
в качестве разделителя каталогов в Windows. Заметным исключением является то, что вы не можете использовать /
в качестве разделителя после \?
префикс который (даже в Windows 7) является единственным способом указать путь, используя Unicode или содержащий более 260 символов.
некоторые элементы пользовательского интерфейса поддержка /
в качестве разделителя каталогов под Windows, но не все. Некоторые программы просто передают имена файлов через базовый API, поэтому они поддерживают /
и \
индифферентно. В командном интерпретаторе (in command.com
или cmd
), вы можете использовать /
во многих случаях, но не всегда; это отчасти зависит от версии Windows (например, cd /windows
работает в XP и 7, но не в Windows 9x). Поле ввода пути проводника принимает /
(по крайней мере, от XP до; вероятно, потому что он также принимает URL-адреса). С другой стороны, стандартный диалог открытия файла отвергает слеши.
базовый Windows API может принимать обратную косую черту или косую черту для разделения каталогов и файловых компонентов пути, но соглашение Microsoft заключается в использовании обратной косой черты и API, возвращающих пути, помещающие обратную косую черту.
MS-DOS 2.0 скопировал иерархическую файловую систему из Unix и таким образом использовал косую черту, но (возможно по настоянию IBM) добавляет обратную косую черту, чтобы разрешить путей должна быть набрана в командной оболочке, в то время как сохранение совместимости с MS-DOS 1.0 и CP / M, где косая черта была индикатором опции командной строки.
сравнить
dir/w
, который показывает текущий каталог в широком формате в отношении
dir\w
, который работает w
файл в директоре dir
.
ссылки:
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]