logo

Файлова система Linux

Файлова система Linux — це структурований набір файлів на диску або розділі. Розділ — це сегмент пам’яті, який містить певні дані. У нашій машині можуть бути різні розділи пам'яті. Як правило, кожен розділ містить файлову систему.

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

  • В першу чергу комп'ютер зберігає дані в оперативній пам'яті; він може втратити дані, якщо його вимкнути. Однак існує енергонезалежна оперативна пам’ять (флеш-пам’ять і SSD), яка доступна для збереження даних після переривання живлення.
  • Зберігання даних є кращим на жорстких дисках порівняно зі стандартною оперативною пам’яттю, оскільки оперативна пам’ять коштує дорожче, ніж простір на диску. Вартість жорстких дисків поступово падає порівняно з оперативною пам'яттю.

The Linux файлова система містить такі розділи:

  • Кореневий каталог (/)
  • Певний формат зберігання даних (EXT3, EXT4, BTRFS, XFS тощо)
  • Розділ або логічний том із певною файловою системою.

Що таке файлова система Linux?

Файлова система Linux, як правило, є вбудованим рівнем a Операційна система Linux використовується для керування даними сховища. Це допомагає організувати файл на дисковому сховищі. Він керує назвою файлу, розміром файлу, датою створення та багатьма іншими відомостями про файл.

Команди ls linux

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

Структура файлової системи Linux

Файлова система Linux має ієрархічну файлову структуру, оскільки містить кореневий каталог і його підкаталоги. До всіх інших каталогів можна отримати доступ із кореневого каталогу. Розділ зазвичай має лише одну файлову систему, але він може мати більше однієї файлової системи.

Файлова система розроблена таким чином, щоб вона могла керувати та надавати простір для енергонезалежних даних для зберігання. Усі файлові системи вимагали простору імен, який є іменуванням та організаційною методологією. Простір імен визначає процес іменування, довжину імені файлу або підмножину символів, які можна використовувати для імені файлу. Він також визначає логічну структуру файлів у сегменті пам’яті, наприклад використання каталогів для організації конкретних файлів. Після опису простору імен необхідно визначити опис метаданих для цього конкретного файлу.

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

рядок довжини

Крім того, він зберігає розширену інформацію про розділи диска, наприклад розділи та томи.

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

Файлова система Linux містить двокомпонентну архітектуру реалізації програмного забезпечення файлової системи. Розгляньте зображення нижче:

Файлова система Linux

Файловій системі потрібен API (інтерфейс прикладного програмування) для доступу до викликів функцій для взаємодії з компонентами файлової системи, такими як файли та каталоги. API полегшує такі завдання, як створення, видалення та копіювання файлів. Це полегшує алгоритм, який визначає розташування файлів у файловій системі.

Перші дві частини даної файлової системи разом називають a Віртуальна файлова система Linux . Він надає єдиний набір команд для доступу ядра та розробників до файлової системи. Для цієї віртуальної файлової системи потрібен спеціальний системний драйвер, який надає інтерфейс файловій системі.

пошук рядка c++

Структура каталогу

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

Структура каталогів Linux добре задокументована та визначена в Linux FHS (Стандарт ієрархії файлових систем). Посилання на ці каталоги, якщо доступ до них досягається через послідовні глибші імена каталогу, пов’язані символом «/», наприклад /var/spool/mail і /var/log. Вони відомі як шляхи.

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

    / (коренева файлова система):Це каталог файлової системи верхнього рівня. Він повинен містити всі файли, необхідні для завантаження системи Linux, перш ніж буде змонтовано іншу файлову систему. Кожна інша файлова система монтується у чітко визначеній і стандартній точці монтування через кореневі каталоги файлової системи після запуску системи./boot:Він містить статичне ядро ​​та конфігурацію завантажувача та виконувані файли, необхідні для запуску комп’ютера Linux./bin:Цей каталог містить виконувані користувачем файли./dev:Він містить файл пристрою для всіх апаратних пристроїв, підключених до системи. Це не драйвери пристроїв; натомість це файли, які вказують на всі пристрої в системі та забезпечують доступ до цих пристроїв./ тощо:Він містить файли конфігурації локальної системи для головної системи./lib:Він містить файли спільної бібліотеки, необхідні для запуску системи./ додому:Домашній каталог доступний для зберігання файлів користувача. Усі користувачі мають підкаталог всередині /home./mnt:Це тимчасова точка монтування для основних файлових систем, яку можна використовувати під час роботи адміністратора або відновлення файлової системи./медіа:Місце для встановлення зовнішніх знімних носіїв, наприклад флеш-накопичувачів USB, які можуть бути підключені до хосту./опція:Він містить необов’язкові файли, такі як прикладні програми постачальників, які потрібно розмістити тут./корінь:Це домашній каталог для користувача root. Майте на увазі, що це не '/' (коренева) файлова система./tmp:Це тимчасовий каталог, який використовується ОС і кількома програмами для зберігання тимчасових файлів. Також тут користувачі можуть тимчасово зберігати файли. Пам’ятайте, що файли в цьому каталозі можуть бути видалені без попереднього повідомлення в будь-який час./sbin:Це системні бінарні файли. Це виконувані файли, які використовуються для адміністрування системи./usr:Вони доступні лише для читання та доступні для спільного використання, включаючи виконувані бібліотеки та двійкові файли, файли man і декілька типів документації./був:Тут зберігаються файли змінних даних. Він може містити такі речі, як MySQL, файли журналів, інші файли бази даних, скриньки електронної пошти, файли даних веб-сервера та багато іншого.

Функції файлової системи Linux

У Linux файлова система створює структуру дерева. Усі файли розташовані у вигляді дерева та його гілок. Найвищий каталог називається кореневий (/) каталог . До всіх інших каталогів у Linux можна отримати доступ із кореневого каталогу.

Ось деякі ключові особливості файлової системи Linux:

    Вказівка ​​шляхів:Linux не використовує зворотну косу риску () для розділення компонентів; він використовує косу риску (/) як альтернативу. Наприклад, як у Windows, дані можуть зберігатися в C: My Documents Work, тоді як у Linux вони зберігатимуться в /home/ My Document/ Work.Розділ, каталоги та диски:Linux не використовує букви диска для організації диска, як це робить Windows. У Linux ми не можемо визначити, чи ми звертаємось до розділу, мережевого пристрою чи «звичайного» каталогу та Диска.Чутливість до регістру:Файлова система Linux чутлива до регістру. Він розрізняє імена файлів у нижньому та верхньому регістрах. Наприклад, існує різниця між test.txt і Test.txt у Linux. Це правило також застосовується до каталогів і команд Linux.Розширення файлів:У Linux файл може мати розширення .txt, але необов’язково, щоб файл мав розширення. Під час роботи з Shell у початківців виникають проблеми з розрізненням файлів і каталогів. Якщо ми використовуємо графічний файловий менеджер, він символізує файли та папки.Приховані файли:Linux розрізняє стандартні та приховані файли, в основному конфігураційні файли приховані в ОС Linux. Зазвичай нам не потрібно відкривати або читати приховані файли. Приховані файли в Linux позначаються крапкою (.) перед назвою файлу (наприклад, .ignore). Щоб отримати доступ до файлів, нам потрібно змінити вигляд у файловому менеджері або використати певну команду в оболонці.

Типи файлової системи Linux

Коли ми встановлюємо операційну систему Linux, Linux пропонує багато файлових систем, наприклад Ext, Ext2, Ext3, Ext4, JFS, ReiserFS, XFS, btrfs, і своп .

Файлова система Linux

Давайте детально розберемо кожну з цих файлових систем:

1. Файлова система Ext, Ext2, Ext3 і Ext4

Файлова система Ext означає Розширена файлова система . В першу чергу він був розроблений для ОС MINIX . Файлова система Ext є старішою версією, яка більше не використовується через деякі обмеження.

декодування JavaScript base64

Ext2 це перша файлова система Linux, яка дозволяє керувати двома терабайтами даних. Ext3 розроблено через Ext2; це оновлена ​​версія Ext2 і містить зворотну сумісність. Основним недоліком Ext3 є те, що він не підтримує сервери, оскільки ця файлова система не підтримує відновлення файлів і знімок диска.

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

2. Файлова система JFS

JFS означає Журналована файлова система , і він розроблений IBM для AIX Unix . Це альтернатива файловій системі Ext. Його також можна використовувати замість Ext4, де потрібна стабільність із невеликими ресурсами. Це зручна файлова система, коли потужність процесора обмежена.

3. Файлова система ReiserFS

ReiserFS є альтернативою файловій системі Ext3. Він має покращену продуктивність і розширені функції. Раніше ReiserFS використовувалася як файлова система за замовчуванням у SUSE Linux, але пізніше вона змінила деякі політики, тому SUSE повернувся до Ext3. Ця файлова система динамічно підтримує розширення файлу, але має деякі недоліки в продуктивності.

4. Файлова система XFS

Файлова система XFS розглядалася як високошвидкісна JFS, яка розроблена для паралельної обробки вводу-виводу. NASA все ще використовує цю файлову систему зі своїм сервером з великим обсягом пам’яті (сервер 300+ терабайт).

java версія linux

5. Файлова система Btrfs

Btrfs означає Деревоподібна файлова система B . Він використовується для відмовостійкості, системи відновлення, веселого адміністрування, розширеної конфігурації сховища тощо. Це не підходить для виробничої системи.

6. Система обміну файлами

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

Що таке монтування у файловій системі Linux?

У Linux це 'монтувати' , термін файлової системи, відноситься до перших днів обчислення, коли знімний диск або пакет стрічки фізично потрібно буде встановити на правильному дисководі. На дисковому пакеті файлова система буде логічно змонтована ОС, щоб зробити вміст доступним для прикладних програм, ОС і користувачів після фізичного розташування на диску.

Простіше кажучи, точка монтування — це каталог, створений як компонент файлової системи. Наприклад, домашня файлова система розміщена в каталозі /home. Файлові системи можна розміщувати в точках монтування багатьох некореневих файлових систем, але це рідше.

  • Коренева файлова система Linux монтується в каталозі / (кореневому каталозі) на дуже ранніх етапах послідовності завантаження.
  • Кілька файлових систем пізніше монтуються програмами запуску Linux, або rc на SystemV, або через systemd у нових версіях Linux.
  • Монтування файлової системи під час запуску обробляється файлом конфігурації, тобто /etc/fstab .
  • Простий спосіб зрозуміти, що це скорочення від fstab 'таблиця файлової системи' , і це список файлових систем, які потрібно змонтувати, їх параметри та призначені точки монтування, які можуть знадобитися для певних файлових систем.

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