Відповіді:
Так, обидва приймають та відкидають усі дані, але їх вихід не однаковий:
/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
* тікає *