TGViewer
🐧 Linux Junior. Программирование под Linux. 🐧 Linux Junior. Программирование под Linux. @juniorlinux · 3.08K subscribers
Post #491 1.71K
Что такое /dev/null и почему туда направляют данные?

Если вы активно работаете в командной строке, то, вероятно, использовали файл /dev/null для следующих целей:

1️⃣ Убрать из вывода всю ненужную инфу (предупреждения, ошибки и т.д.):

$ find / -name "*.conf" 2>/dev/null


2️⃣ Передать утилите пустой ресурс в качестве аргумента. Делаться это может с целью исключения пользовательских и системных конфигов и применения дефолтных настроек на стороне программы:

$ picom --config /dev/null


3️⃣ Полностью очистить файл:

$ cat /dev/null > bigfile   


❓ Окей, принято, а чем является этот самый /dev/null?

В сущности - это cимвольное псевдо-устройство, которое создается на этапе запуска системы и работает с потоками данных:
$ ls -l
crw-rw-rw- 1 root root 1, 3 Sep 6 08:37 null


О типе устройства говорит первый бит режима файла - c "character".

Ресурс удаляет все записанное в него и возвращает при чтении EOF (End of File). Когда мы взаимодействуем с /dev/null, неявно отрабатывает специальный драйвер ядра, в который и зашита логика.

Если интересно, можно порыться в исходниках с реализацией: drivers/char/mem.c. Код имеет отношение не только к /dev/null, но и к другим символьным устройствам.

Развернем более подробную информацию:

$ stat /dev/null

File: /dev/null
Size: 0 Blocks: 0 IO Block: 4096   character special file
Access: (0666/crw-rw-rw-)  Uid: (0/ root)   Gid: (0/ root)
Access: 2025-01-25 14:42:20.101000002 +0300
...


Этот вывод показывает, что файл имеет размер 0 байт, для него выделено 0 блоков на диске, дата создания = дата запуска системы:

$ who -b  
system boot  2025-01-25 14:42


Права доступа установлены таким образом, что любой может читать и записывать в него, но никто не может его выполнять:

$ echo hello | /dev/null
-bash2: /dev/null: Permission denied


Поскольку файл не исполняемый, мы не можем использовать конвейер |. Единственный способ — использовать перенаправление файлов >, >>.
  • ❤ 7
  • 👍 2
  • 🔥 2
More from @juniorlinux
  1. Sep 28, 2026⚙️ Как устроена автоматизация задач через cron в Linux Если вам нужно регулярное выполнени…
  2. Sep 22, 2026По умолчанию rsync только добавляет и обновляет файлы, но не трогает то, что было удалено…
  3. Sep 22, 2026❓ Как удалить на приемнике файлы, которых больше нет в источнике, при синхронизации через…
  4. Sep 16, 2026Post #589
  5. Sep 10, 2026Как распаковать .tar.gz, .tar.bz2, .tar.xz и .tar.zst в Linux Для работы с архивами в Linu…
  6. Sep 4, 2026Посмотреть очередь задач, созданных через at, можно командой atq (или at -l). Она выведет…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →