web-dev-qa-db-fra.com

Le fichier / dev / null a-t-il une taille fixe?

Je viens de découvrir que /dev/null est un fichier et non un répertoire.

Je me demande simplement si sa taille de fichier est réelle.

23
Cody

/dev/null n'est pas vraiment un fichier. C'est un device character!

$ ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 Apr 10 09:53 /dev/null

La première lettre cname___ de la chaîne de permissions (crw-rw-rw-) l'indique. Pour les fichiers normaux, ce serait plutôt un -.

Donc, en termes simples: /dev/null n'est pas un fichier, mais un périphérique virtuel mappé sur ce chemin dans le système de fichiers, dont le seul but est d'avaler et de supprimer les données, comme un trou noir.
Il peut également être utilisé comme entrée, il agit alors comme un fichier vide (taille 0) et renvoie immédiatement un EOF (End Of File).

Par conséquent, vous ne pouvez pas vraiment dire que /dev/null a une taille de fichier spécifique, car ce n'est pas un fichier normal sur un support de stockage.

35
Byte Commander

/dev/null est un type de fichier spécial appelé " fichier de périphérique ".

Les fichiers de périphérique agissent comme une interface pour certaines fonctions du noyau. Ils occupent simplement l'espace nécessaire pour une entrée de répertoire (" inode ") mais n'ont pas de contenu réel et n'ont pas de taille de fichier réelle.

Les autres fichiers de périphérique sont, par exemple, /dev/sda (généralement un disque dur ou SSD), /dev/zero (un fichier qui génère des zéros lors de la lecture) ou /dev/random (un fichier qui génère des données aléatoires lors de la lecture). En fait, tous les fichiers de /dev/ sont des fichiers de périphérique ou des liens pointant vers des fichiers de périphérique.

16
Florian Diesch