Ответы:
/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 (конец файла).
Поэтому вы не можете сказать, что /dev/null
файл имеет определенный размер, так как это не обычный файл на любом носителе.
/dev/null
это особый вид файла, который называется « файл устройства ».
Файлы устройств действуют как интерфейс для некоторых функций ядра. Они просто занимают место, необходимое для записи в каталоге (« inode »), но не имеют реального содержимого и не имеют фактического размера файла.
Другими файлами устройств являются, например, /dev/sda
(обычно HDD или SSD), /dev/zero
(файл, который генерирует нули при чтении), или /dev/random
(файл, который генерирует случайные данные при чтении). Фактически обо всех файлах в нем /dev/
являются либо файлы устройства, либо ссылки, указывающие на файлы устройства.
mknod
для создания файлов устройств в любом месте). Для виртуальных файловых систем, таких /dev/
как inode, они занимают не дисковое пространство, а некоторую память.
ls
и du
сообщении о размере символа специальное устройство наподобие /dev/null
or /dev/random
выдает 0 .