Значення каталогів на Unix та Unix подібних системах


112

Я вже декілька років використовую Linux, але все ще не зрозумів, яке походження та значення деяких імен каталогів є в системах Unix та Unix. Наприклад, що означає etcабо var? Звідки optпоходить назва?

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


Смішна річ Unix - це пародія на мультики та те, що вижити ... Я думаю, що мультики були просто набагато випереджаючи свій час.
SparK

Відповіді:


134

Для отримання додаткових даних про компонування файлових систем Linux див. Стандарт ієрархії файлової системи (зараз версія 2.3, з версією бета-версії 3.0, розгорнутою в останніх дистрибутивах). Це пояснює деякі, звідки походять назви:

  • / бін - Бін арів.
  • / boot - Файли, необхідні для завантаження .
  • / dev -файли Dev Ice.
  • / тощо - Et c etera . Назва успадковується від самих ранніх Unixes, саме тоді воно стало місцем для розміщення config-файлів.
  • / home - Дезберігаються домашні каталоги.
  • / lib - Там, дезберігаються расикоду lib .
  • / media - Більш сучасний каталог, але там, де можна вставити знімні носії .
  • / Мнт - Де тимчасові файлові системи м НУ нт - й вид.
  • / Опт - Де неавтоматичного встановлений Раціональна доповнення програмного забезпечення. Це дискретно з/usr/local/причин, про які я дізнаюся пізніше.
  • / run - Там, дезберігаються дані змінної часу виконання .
  • / SBIN - Де s uper- бен Aries зберігаються. Зазвичай вони працюють лише з коренем.
  • / srv - Стенди для " s e rv e". Цей каталог призначений для статичних файлів, які подаються. /srv/httpбуде для статичних веб-сайтів,/srv/ftpдля FTP-сервера.
  • / TMP - Де т е тр orary файли можуть бути збережені.
  • / usr - Ще один каталог, успадкований від старих Unixes, він розшифровується як " U NIX S ystem R esources". Він не означає "користувача" (див. Вікі Debian ). Цей каталог повинен бути спільним між хостами і може бути безпечно встановлений на декількох хостах. Його можна встановити безпечно лише для читання.
  • / var - Ще один каталог, успадкований від старихUnixes, він означає " var iable". Тут можуть зберігатися різні дані системи. Тут можуть розміщуватися такі каталоги, як каталоги шпулі та кешу. Якщо програмі потрібно записатись у локальну файлову систему та не передавати ці дані комусь безпосередньо, вона перейде сюди.

/ opt vs / usr / local

Я бачив правило, яке найкраще описується як:

Використовуйте /usr/localдля речей, які зазвичай входять /usrабо переважають речі, які вже є /usr. Використовуйте /optдля речей, які встановлюють все в одному каталозі або є іншим чином спеціальним.


2
Документ дуже добре відповідає на першу половину мого питання. Однак, звідки імена походять, поки залишається загадкою. Мені б хотілося знати, що я думаю, що це дасть мені більше контексту.
Лук

Іменування майже все само собою пояснюється. Особливо, якщо ви читаєте описи в цьому посиланні.
Ден Карлі

3
Ні, це не так. Він пояснює, для чого використовується "тощо", але не пояснює, звідки походить назва або для чого воно означає.
Лука

@ sysadmin1138, так /runце в основному посилається на ОЗУ?
Pacerier

@Pacerier Це файлова система, але може бути безпечно встановлена ​​як RAM-диск. Однак, багато програм передбачають набір структури, тому насправді потрібна наполегливість.
sysadmin1138

22

Історично /etcрозшифровується як "etcetera" і /varє скороченням "змінної". Я припускаю, що це перше, тому що велика колекція непов'язаних файлів конфігурації системи потрапляє /etc. Останнє тому, що /varочікується зміна файлів у . Ви можете часто монтувати /usrі /як лише для читання (крім випадків, коли виконуються оновлення), але ніколи не можна монтувати /varлише для читання. У ньому зберігаються системні логіни, файли блокування, файли котушки та інші речі, що динамічно змінюються.

Інші люди дали вам вказівки, щоб допомогти вам зрозуміти, що найкраще куди йде.


22

Вибачте, що воскресив стару тему, але я вважаю, що ця деталь є важливим уточненням для всіх майбутніх шукачів цієї інформації:

  • / opt опції для необов'язкових (як у додаткових додаткових пакетах).
  • / bin позначає двійкове (містить виконувані файли, використовувані ОС).
  • / lib розшифровується як бібліотека (містить спільні бібліотеки, що використовуються файловою системою та для завантаження, ймовірно, використовуються виконуваними файлами в bin)
  • / proc розшифровується як процеси.
  • / root означає root користувача.
  • / home містить домашні підкаталоги для будь-яких користувачів, що не користуються коренем.
  • / dev означає пристрій (вміщує спеціальні та файли пристроїв).
  • / tmp означає тимчасовий характер.
  • / srv означає сервіс.
  • / mnt означає точку монтування (тут змонтуйте тимчасову файлову систему).
  • / include містить файли #include, тобто файли заголовків (наприклад, stdio.h).
  • / var означає змінну
  • / etc означає etcetera

  • / usr розшифровується як Unix System Resources ( Джерело )


Приємна відповідь: стислий, спрямований на рівень питання, і не потрібно шукати інших посилань. +1
Скотт Біггс

Я раніше не бачив srv. Я віддаю перевагу умові щодо конфігурації, якщо це має сенс і виконується. Очевидно, Apache не завжди обслуговує файли з каталогу / srv.
користувач148298

19

Спробуйте це:

$ man hier

1
Хороший. Однак, як і в документі, на який йдеться в інших відповідях, на цій довіднику йдеться лише про те, для чого використовуються каталоги. Я також зацікавлений в тому, чому деякі імена , де обрані, наприклад , / і т.д. , наприклад
Luke

2
Відповідь на ваше запитання про / etc є тут: en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
Anonymous



1

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

/ bin означає бінарний (містить бінарні файли, а також містить команди, які в основному використовуються користувачами. Це також шлях за замовчуванням для виконання команд).

/ sbin (містить спеціальні команди, які, як правило, запускаються супер користувачем)

/ lib розшифровується як бібліотека (містить спільні бібліотеки, що використовуються файловою системою та для завантаження, ймовірно, використовуються виконувані файли в bin) / proc розшифровує процеси (якщо ви хочете перевірити, просто перевірте цього директора, він буде містити кілька каталогів, названих у випадкових числах, тобто нічого, крім номера процесу, який ви можете перехрестити через ps - ef)

/ root означає root user (каталог за замовчуванням для root користувача) / home (всі некористувачі мають домашній каталог під цим каталогом) / dev означає пристрій (містить спеціальні файли та файли пристроїв, якщо ви шукаєте в цьому каталозі через ls - Основні та незначні числа команд також відображаються в цьому каталозі також типу пристрою, показаного на початку кожного рядка в ls - l результат. B означає блок спеціального пристрою, c означає спеціальний пристрій символів). / tmp означає тимчасове (тимчасові ресурси, необхідні для деякого процесу, що зберігається тут тимчасово) / mnt означає точку монтування (тут змонтуйте тимчасову файлову систему). / var означає змінну (вона містить змінні дані, каталог, який вона містить, змінюються за розміром щоразу) / opt розшифровується як необов'язковий (як правило, програмне забезпечення сторонньої сторони встановлено в цьому каталозі). / usr - це системні ресурси Unix.

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