Різниця між / dev / null та / dev / zero


27

При спробі перенаправлення на /dev/nullі /dev/zero, вихід він відкидається. Здається, /dev/nullі /dev/zeroприйняти та відкинути всі дані. Отже, в чому різниця між /dev/nullі /dev/zero?


6
rm -f /dev/zero ; echo -n 111111111111 > /dev/zero* тікає *
joeytwiddle

Відповіді:


52

Так, обидва приймають та відкидають усі дані, але їх вихід не однаковий:

  • /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 використовується для створення фіктивних файлів або підкачки.

Також відвідайте:


Також дивіться codecodecode.com/case/6
kojiro

2
Варто зауважити: mmapping /dev/zerowith MAP_PRIVATE- це «портативний» спосіб отримання анонімного відображення пам’яті (за відсутності таких розширень MAP_ANON).
nneonneo

6
Мабуть, не очевидно для випадкового читача - це те, як /dev/null не виробляється вихід: Він подає сигнал EOF негайно.
Пітер - Відновіть Моніку

Чи є пристрій, який дає всі?
Аарон Франке
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.