Je viens de découvrir qu'il /dev/null
s'agit d'un fichier et non d'un répertoire.
Je me demande simplement s'il a une taille de fichier réelle.
la source
Je viens de découvrir qu'il /dev/null
s'agit d'un fichier et non d'un répertoire.
Je me demande simplement s'il a une taille de fichier réelle.
/dev/null
n'est pas vraiment un fichier. C'est un appareil de caractère !
$ ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 Apr 10 09:53 /dev/null
La première lettre c
de la chaîne d'autorisations ( 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é à ce chemin dans le système de fichiers, qui a le seul but d'avaler et de faire disparaître des données - comme un trou noir.
Il peut également être utilisé comme entrée, puis il agit comme un fichier vide (taille 0) et renvoie immédiatement un EOF (End Of File).
Par conséquent, vous ne pouvez pas vraiment dire qu'il /dev/null
a une taille de fichier spécifique, car ce n'est pas un fichier normal sur n'importe quel support de stockage.
/dev/null
est un type spécial de fichier appelé " fichier de périphérique ".Les fichiers de périphérique servent d'interface à certaines fonctions du noyau. Ils occupent juste 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éro 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/dev/
sont des fichiers de périphérique ou des liens pointant vers des fichiers de périphérique.la source
mknod
pour créer des fichiers de périphérique où vous le souhaitez). Pour les systèmes de fichiers virtuels comme/dev/
l'inode, il n'occupe pas d'espace disque mais de la mémoire.ls
etdu
signaler la taille d'un périphérique spécial de caractère comme/dev/null
ou/dev/random
renvoie 0 .