Как Unix превращает файл в приёмник для вывода

`/dev/null` выглядит в командной строке как путь к файлу, но это специальное устройство, которое обрабатывает операционная система. Когда программа открывает его и записывает данные, система принимает запись и сразу отбрасывает её: содержимое не попадает на диск и не накапливается в памяти как обычный файл.

Поэтому оболочка Unix может направить туда вывод команды так же, как в файл. Например, `команда > /dev/null` скрывает обычный вывод, а `команда 2> /dev/null` — сообщения об ошибках. Сама команда при этом продолжает работать: меняется только место, куда отправляются соответствующие данные.

Устройство работает и в обратную сторону

Если программа читает из `/dev/null`, она сразу получает признак конца файла — сигнал, что данных больше нет. Для программы это похоже на пустой входной файл. Благодаря этому устройство удобно не только для подавления вывода, но и для запуска команды, которой формально нужен источник ввода.

Важная деталь в этой модели — `/dev/null` не сохраняет «удалённое» содержимое. После успешной записи его уже нельзя прочитать или восстановить: операция заканчивается отбрасыванием данных на уровне системы. Именно поэтому такой приём подходит для ненужного вывода, но не для информации, которую может понадобиться проверить позже.