Lorsque vous essayez de redirect vers /dev/null
et /dev/zero
, la sortie est supprimée. Il semble à la fois /dev/null
et /dev/zero
accepter et ignorer toutes les inputs. Alors, quelle est la différence entre /dev/null
et /dev/zero
?
Oui, les deux acceptent et rejettent toutes les inputs, mais leur sortie n'est pas la même:
/dev/null
ne produit aucune sortie . /dev/zero
produit un stream continu d'octets NULL (valeur zéro) . Vous pouvez voir la différence en exécutant cat /dev/null
et cat /dev/zero
.
Essayez le cat /dev/null > file
et vous findez un file
vide.
Maintenant, essayez cat /dev/zero > file
, tout en regardant la taille du file ( watch -n 1 du -h file
) augmenter en permanence. Cela est dû au fait que la lecture de /dev/zero
donne un stream infini de caractères \0
(null).
Utilisez dd
pour visualiser la différence de façon plus appropriée:
$ dd if=/dev/null of=file count=10 0+0 records in 0+0 records out 0 bytes (0 B) copyd, 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) copyd, 0.00090775 s, 5.6 MB/s
/dev/zero
est utilisé pour créer des files fictifs ou swap.
Visitez aussi: