Типи файлів в linux

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

Простір нашого жорсткого диска зайнято файлами різних типів. Наприклад, взяти навіть наш кореневий розділ (/), при створенні файлу, файлова система записує його в певному форматі на потрібне фізичне місце жорсткого диска. Завжди, для роботи з файлами використовується файлова система, але не завжди вона записує файли на диск, файлова система може працювати на льоту, генеруючи файли, наприклад, як procfs, за допомогою якої може бути виконана настройка ядра linux або записувати файли в оперативну пам`ять, як tmpfs розташована в папці / tmp. Але все це не має значення, адже в будь-якому випадку ми маємо справу саме з файлами.

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

Відео: Програми для Linux: VeraCrypt

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

Типи файлів в Linux

Файли в операційній системі Linux можна поділити на три основні типи:

  • Звичайні файли, для зберігання інформації
  • Спеціальні файли - для пристроїв і тунелів
  • Директорії

Далі розглянемо більш детально ці типи файлів linux.

звичайні файли

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

  • текстові файли
  • виконувані файли
  • файли зображень
  • файли архівів
  • Файли бібліотек програм
  • І інші подібні типи

Утиліта ls може визначати тип файлу в режимі списку, звичайні файли позначаються рискою, наприклад:

$ File / bin / tar

files2




Система повідомила що це виконуваний файл, а тепер подивимося звичайний, текстовий:

$ File -l

спеціальні файли

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

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

Утиліта ls позначає блокові файли буквою b, наприклад, виберемо все блокові файли з каталогу / dev:

$ File / dev / sda

files4




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

Ви також можете відфільтрувати їх за допомогою ls. Символьні файли позначаються літерою c (character):

$ Ls -l / dev / | grep "^ l"

files6

Створювати символічні посилання можна за допомогою утиліти ln. наприклад:

$ Ls -l / dev / | grep "^ p"

files7

Щоб створити іменований тунель ви можете використовувати утиліту mkfifo:

$ Echo "test test test" gt; pipe1

Після створення тунелю ми передали в нього дані, і оболонка стала не інтерактивною. Вона чекатиме поки дані будуть прочитані на іншому кінці тунелю. Відкриваємо іншу оболонку і читаємо дані:

$ Ls -l / dev / | grep "^ s"

files11

Відео: Пошук файлів в linux, find, newer, size, exec, mtime, type Частина 3

Створити сокет можна за допомогою функції socket () на мові програмування Сі, читання і запис виконується системними викликами read () і write (). Але нам зараз не потрібно писати реальну програму, буде досить небагато погратися. Тому скористаємося утилітою nc. Створюємо Unix сокет:

$ Nc -U socket.sock

Всі дані, які ви будете набирати в одній з консолей будуть відправлятися на іншу після натискання Enter, зв`язок працює в обох напрямках.

Каталоги

Це спеціальні файли, які дозволяють об`єднувати інші і каталоги в групи для більш простої навігації та пошуку. Природно, вони можуть містити як звичайні, так і спеціальні файли, одним словом будь-які типи файлів ос linux. В системі Linux, файли організовуються в папки починаючи від кореня (/)

Позначаються каталоги буквою d (directory):

files10

Створити каталог в linux можна за допомогою команди mkdir:

Поділися в соціальних мережах:

Схожі
Як видалити файл через термінал linuxЯк видалити файл через термінал linux
Типи файлових систем для linuxТипи файлових систем для linux
Відновлення видалених файлів linuxВідновлення видалених файлів linux
Команда move - перейменування або переміщення файлів і каталогівКоманда move - перейменування або переміщення файлів і каталогів
Файлова система linuxФайлова система linux
Розбивка диска для установки linuxРозбивка диска для установки linux
Команда del (erase)Команда del (erase)
Як приховати файли на androidЯк приховати файли на android
Огляд ext4 vs btrfs vs xfsОгляд ext4 vs btrfs vs xfs
Налаштування nfs в ubuntu 16.04Налаштування nfs в ubuntu 16.04
» » Типи файлів в linux