Чому каталоги / usr та / tmp для Linux пропускають голосні звуки в написанні?


34

Я часто почав думати про це, але ніколи не знайшов гарної відповіді. Чому ці два каталоги Unix не є, /userа /tempнатомість?

Усі інші каталоги, rootздаються, є саме такими, якими можна було б здогадатися, але ці два здаються дивними, я б завжди здогадувався про їх як userі temp.

Чи є якась історична причина написання?


2
Щось підказує мені, що це перенесення від Unix. Згідно з цим припущенням, я гадаю, що більшість таких урізань ґрунтуються на видатних складах.
Кен

17
Одного разу Кена Томпсона запитали, чи не зробить він щось інше, якщо він переробляє Unix, і він відповів "" Я б
написав творець

3
"Усі інші каталоги під коренем здаються саме такими, якими можна було б припустити їх" -> Це не здається мені правдивим. За винятком boot, home, mediaта rootвсе інше скорочується. mntтакож не вистачає її голосних.
phunehehe

7
Я думав, що "u" - це голосна
голова

1
@Містер. Шикаданс: це.
0xC0000022L

Відповіді:


49

Так, причини були. Вони вимовляються користувачем і темпом. passwd схожий, як і резолюція.conf. Unix - це професійна для користувача антагоністична операційна система.

Я був студентом, коли 300 модемів Бода були нормою. Я заздрив моїм однокурсникам, оскільки у мене був термінал Silent 700 від Control Data, де я працював. Ви можете побачити затримку з набором кожного символу та очікуванням його повторення. Кожен персонаж рахував; Я також сприймаю це як сприяння початку leet speak.

У hjkl від vi є історія, яку мало хто знає. vi був розроблений Біллом Джоєм, коли він був студентом вищої школи в УКБ в ці ж роки. На терміналах ADM 3a в коридорі Cory над цими літерами були клавіші зі стрілками


22
Я не думаю, що коли було задумано, ідея бути "прихильним до експертів, антагоністичним до користувачів" була частиною мети. Скоріше, всі користувачі були експертами, тому значущого розрізнення не було.
mattdm

7
LOL "Власність, антагоністична користувачеві". Це зробив мій день. +1!
nico

5
Просто невелика примітка (не виправлення будь-якими способами). Хоча іноді це вимовляється як "користувач", / usr означає або "універсальний системний ресурс", або "системний ресурс Unix". Що б це не було, воно було втрачено серед туману давньої історії Unix :)
luis.espinal

21
У той час, коли / usr була створена, її значення полягало в користуванні, і там розміщувалися домашні каталоги. unix / універсальний системний ресурс насправді є потомством.
jlliagre

2
Коли Unix вийшов 300 кадрів в секунду, було пишним . Там було 75 посилань на секунду, якими керували громіздкі, повільні, електромеханічні телетайпи (часто Teletype® ASR-33).
Олексій

20

Вони зберігаються від Unix. Не вистачало пам’яті та дискового простору. Злому кількох голосних та інших скорочень дало реальну економію. Кілька блоків дисків або кілька байтів можуть означати різницю в тому, чи можна запускати програму, чи ні. (Мені колись довелося обрізати програму на 24 байти, перш ніж вона запустилася.)

Також, як зазначив Том, кінцеві швидкості руху були повільними. 1200 бод було введено як висока швидкість, і це було. Я працював з однією системою, яка використовувала напівшвидкісний телетайп (55 бод або 5 cps) в якості консолі.

У системах із графічними інтерфейсами, як правило, не має значення стільки, скільки середні користувачі не будуть в них задиратися. Каталоги, як правило, добре зафіксовані на hierсторінці людини.

Перехід на більш довгі імена спричинить багато проблем для існуючих програм. Це також обмежує переносимість сценарію. Пов'язування декількох імен в одних і тих же каталогах, ймовірно, буде більш заплутаним, ніж корисним.

EDIT: PDP-7, на якому розроблявся Unix, мав базову конфігурацію 4 кВт пам'яті та максимум 32 кВт. Слова, де 18 біт шириною. Вхід був телетайпом, тому швидкість, ймовірно, становила 110 бод або 10 к / с, приблизно 100 слів, що значно повільніше, ніж мова.


8
Я не купую mmory dsk spc, а повільний tltyps. Доки ти не можеш cc dcphr th cronyms - чому б і ні?
користувач невідомий

@user unknown: Тоді ти молодий і ніколи не мусив турбуватися про пам’ять чи місце на диску. Моєму першому комп’ютеру зараз 30 років - дивуюся специфікації.

1
Я ніколи не писав і не перевіряв файлову систему в глибині, але чи ім'я файлу / каталогу у файловій системі займає більше або менше місця, залежно від 1 символу? Самі файли завжди займають кратне значення якогось розміру - сьогодні 4k. Таким чином, більшість файлів, які містять шлях до / usr або / tmp, не будуть ефективно зменшуватись або збільшуватись, залежно від одного e. Ну - іноді вони будуть, і тоді вони ростуть на цілий блок, але рідко. А в ОЗУ? Не знаю.
користувач невідомий

1
і це було б більш прикро набирати. "тимчасовий vs tmp" уф ... чому б хто хотів їх довше?
ксенотеррацид

4
Сучасні каталоги Unix мають записи змінної довжини. Ще в Research Unix, запис каталогу був фіксованим 16 байтами: 14 для імені файлу, 2 для номера вводу. І може бути меншим, коли / usr тощо були канонізовані.
geekosaur

5

Я здивований, що ще ніхто не коментував /user. Це очевидно: оскільки це не "користувач", це "універсальні системні ресурси".

Щодо /tmp, це просто коротше і простіше набрати. Програмісти на C мають звичку використовувати короткі імена, коли це можливо, тому що вони закінчують вводити їх багато разів у програмі. Дуже часто є тимчасова змінна назва "tmp", а не "temp" з тієї ж причини, ви використовуєте "i" i для індексу в циклі for для замість "index" або "counter".


22
У той час, коли / usr була створена, її значення полягало в користуванні, і там розміщувалися домашні каталоги. unix / універсальний системний ресурс насправді є потомством.
jlliagre

3
@jlliagre Чудовий. Я знайшов ще одну нитку, яка насправді має авторитетне джерело цього. us.generation-nt.com/answer/…
Шон Дж. Гофф

2
Більшість ранніх програмістів на C були першими програмістами FORTRAN. Те, як ви набрали цілі числа у Fortran IV, полягав у тому, щоб запустити ідентифікатор символом від 'i' до 'n', все інше було РЕАЛЬНИМ числом. Таким чином, показники циклу були, як правило, i, j або k; що було достатньо для матриць, які ми науковими програмістами тоді маніпулювали.
Том Мерфі

@TomMurphy, більшість людей, які розпочали роботу з C, були, ймовірно, програмістами з мовної збірки або, можливо, користувачами BCPL або B. RATFOR був винайдений для бідних душ, які не мали пристойної мови під рукою. А книга Керніган і Плагер "Програмні засоби" була написана в RATFOR (і містить перелік повного препроцесора). Ще дуже варто прочитати.
vonbrand

1
/usrне був "Універсальними системними ресурсами", це дійсно користувач . Див Youtube: AT & T Архіви: Операційна система UNIX (вироблено близько 1982) , де, приблизно 13 хв 35sec, /usr/bwkявно виражена «користувач-BWK» і /usrвимовляється «слеш-користувач» від Brian W. Керніган . / usr також чітко мається на увазі місце розташування домашніх каталогів на діаграмі в 13min 30sec. Я не думаю, що ти можеш стати набагато авторитетнішим за це.
CVn

4

Фактор, про який ніхто не згадував, це те, що, враховуючи тогочасну клавіатурну технологію, була істотна перевага у використанні коротких імен, які легше набирати. Друк userпроти usr, навіть на телететику зі 110-BPS, ймовірно, не був величезною справою; маючи набрати цей додатковий лист, мабуть, було більш значущим.


1

Усі інші каталоги під коренем здаються саме такими, якими можна було б здогадатися,

Є також / var, / mnt та / opt;)

але ці двоє здаються дивними, я б завжди здогадувався про них як користувачів і тимчасових.

Майже там. Як сказав Шон, "користувач" розшифровується як "Універсальні системні ресурси" (хоча інші ресурси відповідно до google вказують, що він означає "Unix System Resources").

Чи є якась історична причина написання?

Короткі скорочення, скорочення. Пам'ятайте, що команди в будь-якій операційній системі призначені для доступу як в інтерактивному, так і в програмному плані. Зокрема, для системного адміністрування, де швидке сценарій є однією з головних проблем, скорочення, мнемоніка є настільки ж хорошими (або навіть кращими), ніж повне написане слово / команда.

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

Як було сказано раніше, він не є унікальним для / usr та / tmp (див. / Var, / mnt та / opt).

Крім того, це не властиво Unix. Візьмемо для прикладу DOS (chkdsk, наприклад.) Мнемоніка, де ви голите голосні, - це потужна зручна концепція.

Навіть у природних мовах (як семітські мови) існує концепція (де корінь слів універсально і майже однозначно ідентифікується 3-приголосними групами.) Це вроджений людський механізм управління інформацією.


/ Var, / mnt та / opt з'явилися НАМАШО пізніше. Однак / bin, / dev та / etc були дуже рано UNIX і з тієї ж причини люди заявляли - адже ttys були повільними, і не всі мали CRT та дисковий простір. Там були завантажувальні системи UNIX, які використовували паперову стрічку, невеликі (просторі) дорогі накопичувачі та навіть 8-дюймові дискети. Місце для них було з премією.
Arcege

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