/dev/full

Материал из Википедии ? свободной энциклопедии
Перейти к навигации Перейти к поиску
Файл UNIX-устройства
/dev/full
Тип символьное ( c )
Коды
ОС major minor
Linux 1 7
Специальные файлы устройств

/dev/full  ? специальный файл в UNIX -подобных системах , представляющий собой ≪полное устройство≫ [1] . Запись в него ненулевого количества байт происходит с ошибкой ≪недостаточно места≫ (ошибка ENOSPC) [1] , независимо от объёма ≪записанной≫ информации. Чтение из /dev/full эквивалентно считыванию запрошенного количества нулевых байтов, как для /dev/zero [1] .

Запись в /dev/full завершается успешно только для нулевого количества байт. Это устройство используется для добавления проверок того, что программа ничего не выводит. Если программа сама не обработает ошибку вывода, то она завершится с ошибкой при первом нарушении требования ничего не выводить.

Создание [ править | править код ]

Устройство /dev/full считается символьным. В Linux оно создаётся с помощью утилиты mknod следующим образом [1] :

mknod FILE c 1 7

Здесь FILE  ? имя для нового устройства. На этапе установки системы оно создаётся таким образом со стандартным именем /dev/full .

Примеры использования [ править | править код ]

Чаще всего /dev/full используется для дополнительного уровня проверок (избыточного, но иногда полезного) [ источник не указан 1206 дней ] . Например, для создания архива системного протокола syslog можно выполнить команду

bzip2 --compress --stdout --best -- '/var/log/syslog' > /dev/full

В этой команде присутствует типичная ошибка ? неверно указан параметр, но дополнительная проверка позволяет избежать двух проблем: во-первых, вывода на терминал бинарного потока, который может что-нибудь сломать даже самостоятельно, и, во-вторых, потери файла архива, как было бы при использовании /dev/null или /dev/zero на месте /dev/full , но с /dev/full архиватор выдаст понятную ошибку.

См. также [ править | править код ]

Примечания [ править | править код ]

  1. 1 2 3 4 full(4) - справочная страница Linux   (англ.) . man7.org . Дата обращения: 7 февраля 2021. Архивировано 20 января 2021 года.