Відповіді:
/dev/null
насправді не файл. Це персонаж пристрою !
$ ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 Apr 10 09:53 /dev/null
Перша літера c
рядка дозволів ( crw-rw-rw-
) вказує на це. Для звичайних файлів це було б -
замість цього.
Так простими словами: /dev/null
це не файл, а віртуальний пристрій, відображений на цьому шляху у файловій системі, який має єдину мету проковтнути та зникнути дані - як чорна діра.
Він також може бути використаний як вхідний файл, тоді він діє як порожній файл (розмір 0) і негайно повертає EOF (End Of File).
Тому ви не можете сказати, що він /dev/null
має певний розмір файлу, оскільки це не звичайний файл на будь-якому носії.
/dev/null
- це особливий вид файлу, який називається " файл пристрою ".
Файли пристроїв виконують функції інтерфейсу деяких функцій ядра. Вони просто займають простір, необхідний для введення в каталог (" inode "), але не мають реального вмісту і не мають фактичного розміру файлу.
Іншими файлами пристрою є, наприклад, /dev/sda
(як правило, жорсткий диск або SSD), /dev/zero
(файл, який створює нулі при зчитуванні) або /dev/random
(файл, який генерує випадкові дані при зчитуванні). Насправді про всі файли у файлах /dev/
є або файли пристрою, або посилання, що вказують на файли пристрою.
mknod
файли пристроїв у будь-якому місці). Для віртуальних файлових систем, таких /dev/
як inode, не займають дисковий простір, а деяку пам’ять.
ls
та du
повідомляти про розмір символу спеціального пристрою типу " 0" /dev/null
або " /dev/random
0" .