Підключення пристрою linux

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

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

Файли пристроїв Linux

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

Найважливіше, що потрібно знати про ці файли - це не драйвери пристроїв, їх краще розглядати як інтерфейс доступу до драйверів пристроїв. Додаток відправляє дані в файл пристрою, звідки вони читаються драйвером пристрою і відправляються на фізичне пристрою. Зворотній передача від фізичних пристроїв теж проходить цим шляхом через файл пристрою. Давайте подивимося як буде виглядати потік передачі даних для типової команди, наприклад, cat:

dboth-dev-dir_0

На схемі наведена схема передачі даних для команди cat /etc/resolv.conf. Ви виконуєте команду з терміналу, утиліта відправляє запит файлу драйверу, який шукає файл на диску і читає його вміст. Дані передаються через файл пристрою, а потім знову ж таки, через файл пристрою псевдо-терміналу передаються в емулятор терміналу 6, де вони будуть відображені.

Якщо ми переспрямуємо висновок команди в файл, наприклад, cat /etc/resolv.conf gt; /etc/resolv.bak, то ліва частина схеми залишиться незмінною, а права сторона буде вести до файлу пристрою / dev / sda2. Ці пристрої роблять дуже простим використання стандартних потоків введення / виведення для доступу до кожного пристрою. Просте перенаправлення потоку даних в файл пристрою призведе до запису даних на пристрій.

Класифікація файлів пристроїв

Файли пристроїв можна класифікувати щонайменше двома способами. Перша і найбільш широка класифікація - на основі потоку даних. У пристроях TTY і інших символьних пристроях, дані обробляються по одному символу або байту за раз. У блокових пристроях, таких як жорсткі диски дані передаються блоками, як правило, з розміром, кратним 256 байт.




Якщо ви ще цього не робили, то перейдіть в папку / dev / і подивіться список знаходяться там файлів за допомогою команди ls. Ви побачите дуже довгий список файлів з їх правами доступу, власниками і групами - це список пристроїв linux. Зверніть увагу на найперший символ в кожному рядку. Він вказує тип пристрою. Символом "b" - позначаються блокові пристрої linux (block), а символом "c" - символьні (character).

$ Who am i

device4

У мене ви бачите пристрій / dev / pts / 0, це віртуальне пристрій емулятора терміналу, але якщо ви будете виконувати завдання в tty2, то відобразитися саме вона. Тепер давайте подивимося список tty пристроїв за допомогою команди ls:

$ Echo "Hello world" gt; / Dev / tty2

device6

Відео: Hello world на асемблері для linux




Потім поверніться в другу консоль. Тут ви побачите відправлену рядок, Hello World. Все це можна повторити за допомогою емуляторів терміналу в графічному інтерфейсі, тільки тут будуть використовуватися псевдо-термінальні пристрої / dev / pts / *. Тепер спробуємо відобразити вміст файлу fstab за допомогою cat в іншому терміналі:

$ Cat test.pdf gt; / Dev / usb / lp0

Каталог / dev / містить багато цікавих файлів пристроїв. Це інтерфейси доступу до апаратного забезпечення і вам не потрібно думати, що це, жорсткий диск або екран. Наприклад, вся оперативна пам`ять комп`ютера доступна у вигляді пристрої / dev / mem. За допомогою нього ви можете мати прямий доступ до пам`яті. Ми можемо вивести вміст пам`яті в термінал:

$ Dd if = / dev / null bs = 512 count = 500 | od -c

device7

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

Пристрої / dev / random та / dev / urandom дозволяють отримати випадкові комбінації чисел або байт. Ви можете використовувати таку команду, щоб отримати випадкові байти інформації:

Відео: Як встановити Linux на android пристрій

$ Dd if = / dev / zero bs = 512 count = 500 | od -c

device8

Зверніть увагу, що восьмеричні нулі і нулі ASCII це не одне і те ж.

Створення пристроїв в Linux

У минулому всі пристрої з каталогу / dev створювалися під час установки системи, а це означало, що каталог містив всі можливі підтримувані пристрої, навіть якщо вони не використовувалися. Якщо вам потрібно було створювати або переініціалізіровать файли пристроїв, використовувалася утиліта mknod. Але для роботи з нею вам потрібно знати старший і молодший номер пристрою.

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

Команда mknod все ще є, але вже існує новіша розробка - makedev. Вона надає дуже простий інтерфейс для створення пристроїв.

висновки

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

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

Схожі
Як видалити файл через термінал linuxЯк видалити файл через термінал linux
Типи файлових систем для linuxТипи файлових систем для linux
Як перейменувати файл linuxЯк перейменувати файл linux
Незмінні файли в linuxНезмінні файли в linux
Файлова система linuxФайлова система linux
Установка драйверів в linuxУстановка драйверів в linux
Права доступу до файлів в linuxПрава доступу до файлів в linux
Команда find в linuxКоманда find в linux
Як подивитися логи в linuxЯк подивитися логи в linux
Типи файлів в linuxТипи файлів в linux
» » Підключення пристрою linux