Чому Windows використовує зворотні косої риски для контурів та косої коси вперед Unix?


85

Мене дратує те, що я користувався Unix в коледжі і зараз працюю на стороні Windows. Яка історія стоїть за цим рішенням? Хтось знає, чому так вийшло?


Відповіді:


98

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, тому вони підтримують /та \байдуже. У інтерпретаторі команд (в command.comабо cmd) ви можете використовувати /в багатьох випадках, але не завжди; це частково залежить від версії Windows (наприклад, cd /windowsпрацює в XP та 7, але не в Windows 9x). Вікно вводу шляху до Explorer приймає /(принаймні з XP вгору; можливо, тому що він також приймає URL-адреси). З іншого боку, стандартне діалогове вікно відкритого файлу відхиляє косої риски .


2
/розпізнається як роздільник каталогів командним рядком MS-DOS або Windows.
Тамара Війсман

1
"C: \ Windows \ System32> cd / windows / system" працює.
Ендрю Дж. Брем

@TomWij: Чи є у вас посилання на те, де саме /прийнято в командному рядку? Наприклад, що робить dir /p? і dir c:/p? і c:/windows/notepad.exe? і start /windows/notepad.exe? і т. д. (я не маю тут машину Windows для тестування.)
Жил

2
/ймовірно, він використовувався як роздільник каталогів в UNIX, оскільки це був легкий (не змінений) ключ для удару по телетайпу. Незмінені спеціальні символи були : - ; , . /.
Даніель Р Хікс

2
Цікаво, що я нещодавно переглянув джерела та посібники DOS 1 і 2 і виявив, що Microsoft використовувала /-для комутаторів), як Xenix, і надихала Xenix, але IBM випускала перед тим, як Microsoft поставлялася до OEM-виробників, а IBM використовував ` (and / `для комутаторів) і змінили підказку з A:на, A>щоб вони змінили стандартну документацію за замовчуванням та відвантажували документацію (все ще припускаючи // -), плюс примітку, що вона була змінена і чому.
mirabilos

9

, Що лежить в основі Windows API може приймати або зворотну косу риску або в окремих каталогів і файлів компонентів шляху, але угода Microsoft є використання зворотної косої межі, і API - інтерфейси , які повертають шляху помістити зворотну косу риску.

MS-DOS 2.0 скопіював ієрархічну файлову систему з Unix і, таким чином, застосував косую косу передачу, але (можливо, за наполяганням IBM ) додав зворотний косу рису, щоб дозволити введення шляхів до командної оболонки, зберігаючи сумісність з MS-DOS 1.0 і CP / M, де коса риса була індикатором параметра командного рядка.

Порівняйте

dir/w

який показує поточний каталог у широкому форматі проти

dir\w

який запускає wфайл у директора dir.

Список літератури:

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.