Мене дратує те, що я користувався 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) - єдиний спосіб вказати шлях за допомогою Unicode або містить більше 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.
Список літератури: