Типи файлів в linux
Філософія операційних систем Unix говорить, що все є файл. Це означає, що вся робота з цією операційною системою зводиться до файлів. Оскільки Linux можна вважати теж нащадком Unix, то ця концепція може бути застосована і тут. Файли це об`єкти, в які ми записуємо інформацію і наші дані, виконувані файли, але крім цих звичних нам понять тут є файли спеціального призначення - файли пристроїв, файли тунелів, сокетов і багато іншого. Ця тема дуже слабо висвітлена в інтернеті, тому в нашій сьогоднішній статті ми розглянемо типи файлів linux.
Простір нашого жорсткого диска зайнято файлами різних типів. Наприклад, взяти навіть наш кореневий розділ (/), при створенні файлу, файлова система записує його в певному форматі на потрібне фізичне місце жорсткого диска. Завжди, для роботи з файлами використовується файлова система, але не завжди вона записує файли на диск, файлова система може працювати на льоту, генеруючи файли, наприклад, як procfs, за допомогою якої може бути виконана настройка ядра linux або записувати файли в оперативну пам`ять, як tmpfs розташована в папці / tmp. Але все це не має значення, адже в будь-якому випадку ми маємо справу саме з файлами.
В системі Linux немає відмінностей між каталогами та файлами. Але каталоги можуть об`єднувати інші файли в групи, щоб їх було легше знайти і використовувати. Всі апаратні пристрої представлені у вигляді файлів і знаходяться в каталозі dev, тільки через ці файли програми можуть працювати з ними.
Відео: Програми для Linux: VeraCrypt
Перевага використання файлів як для звичайної інформації, так і для пристроїв, в тому, що не потрібно реалізувати окремий набір API інтерфейсів для кожного пристрою, з ним можуть працювати всі стандартні утиліти Linux і API інтерфейси.
Типи файлів в Linux
Файли в операційній системі Linux можна поділити на три основні типи:
- Звичайні файли, для зберігання інформації
- Спеціальні файли - для пристроїв і тунелів
- Директорії
Далі розглянемо більш детально ці типи файлів linux.
звичайні файли
Це файли, з якими ми звикли працювати кожен день, вони можуть містити текст, виконувані інструкції для програм, зображення або іншу інформацію. Це найпоширеніший тип файлів, які ви можете знайти в системі Linux. Розглянемо невеликий список відносяться сюди файлів:
- текстові файли
- виконувані файли
- файли зображень
- файли архівів
- Файли бібліотек програм
- І інші подібні типи
Утиліта ls може визначати тип файлу в режимі списку, звичайні файли позначаються рискою, наприклад:
$ File / bin / tarСистема повідомила що це виконуваний файл, а тепер подивимося звичайний, текстовий:
$ File -lспеціальні файли
Спеціальні файли набагато цікавіше, вони призначені для обміну інформацією з ядром, роботи з пристроями або спілкування між програмами. Такі файли можуть теж бути декількох типів, в залежності від призначення.
Блокові файли - це файли пристроїв, які забезпечують буферізованние доступ до апаратних компонентів. При запису даних на жорсткий диск або на флешку немає сенсу записувати дані відразу ж після їх надходження. Так ми будемо тільки даремно витрачати ресурс пристрою і енергію. Можна почекати поки набереться достатня кількість даних а потім записати їх за один раз. Ці дані і збираються в буфері. За допомогою таких файлів, файлова система і багато інших програм можуть звертатися до драйверів апаратних пристроїв. Такі файли можуть передати великий блок даних за невеликої один раз.
Утиліта ls позначає блокові файли буквою b, наприклад, виберемо все блокові файли з каталогу / dev:
$ File / dev / sdaСимвольні файли забезпечують не буферізованние доступ до апаратних компонентів і ядру. Оскільки у них немає буфера, вони дозволяють передавати тільки по одному символу за один раз. А в іншому, це такі ж файли пристроїв, як і блокові файли.
Ви також можете відфільтрувати їх за допомогою ls. Символьні файли позначаються літерою c (character):
$ Ls -l / dev / | grep "^ l"Створювати символічні посилання можна за допомогою утиліти ln. наприклад:
$ Ls -l / dev / | grep "^ p"Щоб створити іменований тунель ви можете використовувати утиліту mkfifo:
$ Echo "test test test" gt; pipe1Після створення тунелю ми передали в нього дані, і оболонка стала не інтерактивною. Вона чекатиме поки дані будуть прочитані на іншому кінці тунелю. Відкриваємо іншу оболонку і читаємо дані:
$ Ls -l / dev / | grep "^ s"Відео: Пошук файлів в linux, find, newer, size, exec, mtime, type Частина 3
Створити сокет можна за допомогою функції socket () на мові програмування Сі, читання і запис виконується системними викликами read () і write (). Але нам зараз не потрібно писати реальну програму, буде досить небагато погратися. Тому скористаємося утилітою nc. Створюємо Unix сокет:
$ Nc -U socket.sockВсі дані, які ви будете набирати в одній з консолей будуть відправлятися на іншу після натискання Enter, зв`язок працює в обох напрямках.
Каталоги
Це спеціальні файли, які дозволяють об`єднувати інші і каталоги в групи для більш простої навігації та пошуку. Природно, вони можуть містити як звичайні, так і спеціальні файли, одним словом будь-які типи файлів ос linux. В системі Linux, файли організовуються в папки починаючи від кореня (/)
Позначаються каталоги буквою d (directory):
Створити каталог в linux можна за допомогою команди mkdir:
- Куди встановлюються програми в ubuntu
- Огляд ext4 vs btrfs vs xfs
- Як видалити файл через термінал linux
- Як створити файл в терміналі
- Як примонтировать флешку в linux
- Як приховати файли на android
- Як подивитися usb пристрої linux
- Як через nero записати файли на диск в потрібному нам порядку
- Копіювання жорсткого диска в linux
- Типи файлових систем для linux
- Команда del (erase)
- Розбивка диска для установки linux
- Команда move - перейменування або переміщення файлів і каталогів
- Cтруктура файлової системи linux
- Пошук дублікатів файлів в linux
- Налаштування nfs в ubuntu 16.04
- Відновлення видалених файлів linux
- Файлова система reiserfs
- Файлова система linux
- Шифровані файлові системи
- Шлях до файлу в linux