Назва
mknod - створює блочні або посимвольні спеціальні файли
Стисло
mknod [опції] назва {bc} старший молодший
mknod [опції] назва p
Опції GNU (коротка форма): [-m режим] [--help] [--version] [--]
Опис
mknod створить FIFO (іменований конвеєр), файл пристрою посимвольної передачі даних, або файл блочного пристрою зі вказаною назвою.
Файлова система зберігає спеціальні файли як трійка чисел (булеве значення, ціле, ціле). Булеве значення вказує, чи це посимвольний файл, чи блочний. Два цілих - це старший і молодший номер пристрою.
Таким чином, спеціальні файли майже не займають місця на диску, і використовуються виключно для комунікації з операційною системою, а не для збереження даних. Часто, спеціальні файли вказують на пристроєве обладнання (диск, стрічка, термінал, друкарка) або на сервіси операційної системи (/dev/null, /dev/random тощо).
Блочні спеціальні файли, типово, відповідають дископодібним пристроям (тобто таким, дані яких можна здобути за номером блоку, саме тому має зміст мати блок-кеш). Решта пристроїв вважаються з посимвольною передачею. (Колись давно, їхнє визначення було інакшим: ввід/вивід до посимвольного файлу був небуферованим, а до блокового - буферованим.)
Саме команда mknod створює файли цього типу.
Аргумент, що слідує за назвою, вказує на тип файлу, який буде створено:
p : для FIFO
b : для блокового (буферованого) спеціального файлу
c : для посимвольного (небуферованого) спеціального файлу
Версія mknod від GNU дозволяє вживання u (англ. unbuffered), як синонім c.
Під час створення блокового або посимвольного спеціального файлу після типу, необхідно також вказати старший і молодший номер пристрою (як десяткове, або як вісімкове з передуючим 0; версія GNU дозволяє також шістнадцяткові числа з 0x спереду). Типово, режим новостворених файлів дорівнює 0666 ("a+rw"), мінус біти, задані umask.
Опції
Стандартні опції GNU
-m режим, --mode=режим : Встановлює дозволи створених файлів до вказаного режиму, який може мати символічне позначення, як у chmod(1).
--help : Виведе допомогу у використанні програми і вийде з успішним статусом.
--version : Виведе інформацію про версію програми і вийде з успішним статусом.
-- : Завершує список опцій.
Відповідність стандартам
POSIX не згадує цю команду як таку, що може бути непортабельною, і радить використовувати mkfifo(1) для створення FIFO-файлів. SVID включає команду /etc/mknod з подібним синтаксисом, але без можливості задання режиму.
Примітки
На Лінуксі (версія ядра 1.3.22 і до нинішніх), файл /usr/src/linux/Documentation/devices.txt містить список пристроїв із їхніми назвами, типом, старшими і молодшими номерами.
В цій сторінці описується mknod з пакунку fileutils-4.0; інші версії можуть трохи відрізнятися. Поправки та доповнення надсилайте на aeb@cwi.nl. Повідомлення про вади - на fileutils-bugs@gnu.ai.mit.edu.