Ответы:
Да, и принимаем, и отбрасываем все входные данные, но их выходные данные не совпадают:
/dev/null
не производит никакого вывода ./dev/zero
производит непрерывный поток байтов NULL (нулевое значение) .Вы можете увидеть разницу, выполнив cat /dev/null
и cat /dev/zero
.
Попробуйте cat /dev/null > file
и вы найдете пустой file
.
Теперь попробуйте cat /dev/zero > file
, при этом размер файла ( watch -n 1 du -h file
) постоянно увеличивается. Это потому, что чтение из /dev/zero
дает бесконечный поток \0
(нулевых) символов.
Используйте, dd
чтобы визуализировать разницу более подходящим образом:
$ dd if=/dev/null of=file count=10
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.000276193 s, 0.0 kB/s
$ dd if=/dev/zero of=file count=10
10+0 records in
10+0 records out
5120 bytes (5.1 kB) copied, 0.00090775 s, 5.6 MB/s
/dev/zero
используется для создания фиктивных файлов или подкачки.
Также посетите:
mmap
ping /dev/zero
with MAP_PRIVATE
- это «портативный» способ получения анонимного отображения памяти (при отсутствии таких расширений, как MAP_ANON
).
/dev/null
производит вывод: он сразу сигнализирует об EOF.
rm -f /dev/zero ; echo -n 111111111111 > /dev/zero
* убегает *