dev/full
| Файл UNIX-устройства | |||||||
| dev/full | |||||||
|---|---|---|---|---|---|---|---|
| Тип | символьное (c) | ||||||
| Коды | |||||||
|
|||||||
| Специальные файлы устройств |
|---|
/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 используется для дополнительного уровня проверок (избыточного, но иногда полезного)[источник не указан 1813 дней]. Например, для создания архива системного протокола syslog можно выполнить команду
bzip2 --compress --stdout --best -- '/var/log/syslog' > /dev/full
В этой команде присутствует типичная ошибка — неверно указан параметр, но дополнительная проверка позволяет избежать двух проблем: во-первых, вывода на терминал бинарного потока, который может что-нибудь сломать даже самостоятельно, и, во-вторых, потери файла архива, как было бы при использовании /dev/null или /dev/zero на месте /dev/full, но с /dev/full архиватор выдаст понятную ошибку.
См. также
Примечания
- ↑ 1,0 1,1 1,2 1,3 full(4) - справочная страница Linux (англ.). man7.org. Дата обращения: 7 февраля 2021.
В статье не хватает ссылок на источники (см. также рекомендации по поиску). |