Структура каталогів Linux: що це таке і як це працює

Структура каталогів Linux: що це таке і як це працює

Одна істотна відмінність між Linux і Windows полягає в системі розташування каталогів за замовчуванням, з якою ви зіткнетеся після чистої установки операційної системи.

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


Що таке файлові системи і як вони використовуються сьогодні

Відмінності між структурами каталогів Windows і Linux

Щоб зрозуміти, чому ці операційні системи мають таку структуру, корисно зрозуміти їхню історію.

Коли комп'ютери на базі Windows вперше почали свою криву росту, в перші роки існування MS-DOS операційна система Microsoft була спеціально орієнтована на мікрокомп'ютери (те, що ми сьогодні частіше називаємо настільними комп'ютерами). У ті ранні роки файли зберігалися в основному на гнучких дисках. Вони були позначені A: і B: щоб їх було легко відрізнити. Пізніше жорсткі диски отримали мітку диска C: і наступним літерам були призначені додаткові типи дисків, такі як CD-ROM або USB-накопичувачі.

Навпаки, Linux походить від Unix, операційної системи, розробленої AT&T в 1970-х роках. У цей час «комп'ютери», якими користувалися люди, були переважно просто терміналами. Вони відображали текстову інформацію на екрані і надавали клавіатуру для введення. Але важку роботу виконувала «система», яка могла складатися з декількох фізичних машин: одна для обробки, одна для зберігання, а інша для конкретного застосування. Всі вони були пов'язані через мережу, а користувачам вони здавалися єдиним цілим. Ця конфігурація клієнт-сервер, для якої була розроблена Unix, була в точності протилежна технології однокористувальницького мікрокомп'ютера, підтримуваного MS-DOS і більш пізньою версією Windows.

Практичне правило для файлових систем Linux полягає в тому, що кореневий або верхній рівень файлової системи не містить випадкових файлів. У більшості систем він може містити ядро (vmlinuz на малюнках) або серце операційної системи і, можливо, віртуальний диск (initrd), що містить дані, необхідні системі для запуску і роботи. Але крім цього, він повинен містити тільки каталоги, які ми обговоримо в наступних розділах (серед інших).

Каталог/bin

Один з перших каталогів, з якими ви зіткнетеся, - це/bin. Це означає двійкові файли і містить «стандартні» програми операційної системи. Тут «стандарт» відноситься до базових утиліт, необхідних для осмисленого використання ОС. Приклади програм, які ви знайдете тут:


  • компакт-диск або змінити каталог, який працює так само, як його аналог Windows
  • Команди керування файлами, такі як cp і mv (копіювання і пересування файлів відповідно).
  • Утиліти прав доступу до файлів, таких як chmod (що змінює права доступу до файлів) і chown (який змінює власників цих файлів).
  • Програми, що забезпечують ваше обчислювальне середовище, такі як вхід в систему (яка дає вам можливість увійти в систему) і bash або інші оболонки.

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

Каталог/boot

Далі в алфавітному порядку знаходиться/boot, який містить файли, які система використовує при запуску. Він містить копії ядра Linux (яке ви бачите в корені файлової системи, ймовірно, є посиланням на одну з них), initrd або початковий ramdisk для системи та інші пов'язані дані.

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

Каталог/cdrom

Це щось із застарілого каталогу. Він був представлений як місце, де компакт-диск міг бути змонтований або підключений, і доступ до його вмісту. У той час було звичайною справою вимагати права root або адміністратора для монтування CD-ROM. Але в даний час частіше зустрічаються компакт-диски, автоматично змонтовані в каталозі/media, про що ми поговоримо трохи пізніше.

Так само раніше був каталог/floppy. Ви можете побачити, як це зробило користувачів, які, ймовірно, звикли до Windows, трохи більш зручним. Але оскільки флоппі-дисководи не є стандартними компонентами на сучасних ПК, ви можете навіть більше не бачити цей каталог. Наприклад, в Ubuntu його немає. Якщо на вашій машині є дисковод гнучких дисків, ви, ймовірно, виявите, що він автоматично змонтований в/media.

Каталог/dev

Один з унікальних аспектів операційних систем на основі Unix полягає в тому, що все є файлом. Тобто, файли представляють все в системі: запущені процеси, оперативну пам'ять і, так, пристрої зберігання. Наприклад, коли ви копіюєте деякі дані на жорсткий диск, Linux фактично записує дані до файла, наприклад/dev/nvme0n1p3, який представляє третій розділ вашого SSD.

У каталозі/dev зберігаються всі ці спеціальні файли. Якщо ви переглядаєте його, ви побачите файли практично для кожного пристрою, який ви можете собі уявити, від вищезгаданих твердотільних накопичувачів на базі NVMe до жорстких дисків на SATA (наприклад ,/dev/sd *) або старішої IDE (/dev/hd *), а також старіші з "єднання, такі як порт миші PS/2 (/dev/psaux). Зірочки позначають підстановочні знаки; наприклад, при встановленні на основі SATA ваш перший жорсткий диск буде «/dev/sd a », а перший розділ цього диска буде «/dev/sda 1». Його другий розділ - «/dev/sda 2 », а перший розділ другого диска - «/dev/sd b 1».


Хоча для них не важливо бути в якомусь певному порядку, важливо знати, що є що. Ці знання не дадуть вам перезаписати розділ Windows, коли ви мали намір встановити Linux, наприклад, на новий порожній диск, який ви встановлюєте.

Каталог/etc

Назва

Image

Publish modules to the "offcanvas" position.