Чому "." вибрано для представлення поточного каталогу та ".." для батьківського каталогу?


33

Прочитавши це запитання, чому було обрано '~' для представлення домашнього каталогу? Наступним очевидним запитанням у мене було те, чому "." і ".." було використано для представлення поточного каталогу та батьківського каталогу.

Зараз це здається таким інтуїтивним, але якась конкретна причина?


Відповіді:


16

Я сумніваюся, що ти знайдеш настільки ж цікаву відповідь, як і на питання тильди!

Мене там не було, але .. - це як еліпсис (...), що має сенс у таких контекстах cd ../../../there. Крім того, і особливо дивлячись на клавіатуру старого термінала з корпусу тильди, для цієї мети не так багато символів. Вам також не потрібно змінювати .. Це прекрасно.

Те, що крапковий префікс використовується для прихованих файлів, може бути ще однією причиною. Приховані файли за замовчуванням не перераховані такими інструментами, як ls, тому вони не є надмірно .і ... Надлишки в тому сенсі, що немає сенсу розглядати їх разом з іншими файлами - вони, звичайно, корисні в іншому випадку.

Як виявляється, у мене це може бути назад ... з Вікіпедії :

Поняття про те, що назви файлів передували знаку "." слід приховати - це результат помилки програмного забезпечення в перші дні Unix. Коли спеціальний '.' та ".." записи файлів були додані до файлової системи, було вирішено, що команда ls не повинна відображати їх. Однак програма ls була помилково написана, щоб виключити будь-який файл, ім'я якого починалося з ".", А не лише файли з ім'ям "." або '..'.

Це виявляється корисним при програмуванні; оскільки система все ж включає. і .. у відповідь на readdir()команди типу (та глобуси оболонки), ігнорування їх та прихованих файлів може бути виконано аналогічно.

Інша думка щодо цього значення використання міститься у посиланні на цитату wikipedia. Звичайно, вся історія може бути апокрифною ... трохи важко повірити, що, наприклад, Денніс Річі вважав, що перевірка першого персонажа буде добре.

Я не згоден з автором по відношенню, було б краще розмістити приховані файли конфігурації у власному каталозі, а не давати їм універсальний префікс. Префікс набагато гнучкіший, що дозволяє виконувати директиви типу дерева .gitignoreта .htaccess. Свідчіть, що файли подібного роду також з’являються разом, коли їх сортують лексикографічно - тому, можливо, це було цілеспрямовано .


3

Здебільшого таку ж відповідь, як @Panos 'на stackoverflow :

Коротше кажучи, він розвинувся з dта dd( dіректорії та dіритарії dірикторії), які були створені користувачами вручну. dстали крапковими , а ті .і ..були створені спочатку mkdirутилітою (встановлений після з'єднання каталогів більше не дозволявся простим користувачем), а пізніше mkdir системним викликом.

Уривок з інтерв'ю з Кеном Томпсоном (1989-09-06):

МСМ : Але для користувача це буде виглядати приблизно так само, як ієрархія каталогів.

Томпсон : Ні, першим був генеральний директор. Насправді це навіть не було ациклічно. Якщо ви розумієте файлову систему UNIX, це був .... був I-список, який є визначенням усіх файлів у системі. А потім деякі з цих файлів були каталогами, які просто містили ім'я та I-номер. Там немає нічого, що обмежує це дерево. Так це було насправді, зовсім не ієрархічно.

МСМ : Я бачу.

Томпсон : І ми не обмежили це деревом. Ми експериментували з різними топологіями. Те, що ми в кінцевому підсумку робимо, перетворюється на конкретні та змушує топологій, які насправді були топологіями, що з конвенцією виходили з цієї системи. ... Щоразу, коли ми створювали каталог, за умовою ми поміщали його в інший каталог з назвою каталог - каталог , який був dd. Його ім'я було dd, і що всі каталоги користувачів і фактично більшість інших каталогів, користувачі підтримують власну систему каталогів, мали покажчики назад до dd, а dd скоротили до dot-dot., і dd було для каталогу-каталогу. Це місце було туди, де можна було потрапити до всіх інших каталогів у системі, щоб підтримувати цю миску для спагетті. Отже, я маю на увазі цей туф у різних формах, що було суворо домовленим у цій ГД впровадженні просто випадкових наборів каталогів та файлів, примусивши їх до типології, яку ми підтримували. Коли ми почали писати такі речі, як файлові системи, що перевіряють програми та інше, блокування каталогів чаші зі спагетті та знаходження нерозділених речей, я маю на увазі, що ти щось розбереш і ніколи не повернеш назад, бо знаєш, що втратив його. Ці проблеми стали близькими до непереборних, і тому в наступному здійсненні ми змусили типологію сильнішу за це.

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