GNU/Linux >> Tutoriels Linux >  >> Linux

Qu'est-ce que /dev/null sous Linux

Le '/dev ‘ dans les systèmes basés sur Linux et Unix contient des fichiers correspondant aux périphériques connectés au système. Par exemple, comme le montre la capture d'écran ci-dessous, le lecteur de CD est accessible à l'aide de 'cdrom ‘, lecteur de DVD avec ‘dvd ', les disques durs sont accessibles à l'aide de 'sda1 ', 'sda2 ‘, etc.

Lecture recommandée :Qu'est-ce que "> /dev/null 2>&1" sous Linux

Tous ces fichiers communiquent avec le système Linux via les fichiers respectifs dans '/dev ‘. Le traitement des entrées/sorties des appareils s'effectue via ces fichiers. Cela est dû à une caractéristique importante du système de fichiers sous Linux :tout est soit un fichier, soit un répertoire.

$ cd /dev

En dehors de ces fichiers qui représentent des périphériques physiques réels, il existe des fichiers dans '/dev ' qui sont connus sous le nom de 'fichiers de périphérique virtuel ' ou 'fichiers de pseudo-périphérique ‘. Ces fichiers ne gèrent aucun périphérique et sont utilisés pour fournir diverses fonctions requises par le système d'exploitation.

Par exemple, le fichier ‘/dev/random ' lorsqu'il est lu, renvoie un ensemble d'octets aléatoires générés par le générateur de nombres aléatoires.

Un de ces fichiers qui est très couramment utilisé est '/dev/null ‘. Aujourd'hui, nous allons essayer d'en savoir plus sur ce fichier et dans quel but il est présent sous Linux.

/dev/null :qu'est-ce que c'est et pourquoi est-ce là ?

Sous Linux, vous savez peut-être que la ligne de commande est principalement utilisée pour exécuter non seulement des processus administratifs ou des processus de gestion de serveur, mais également des processus quotidiens. La ligne de commande (également appelée Terminal ) exécute un programme et imprime la sortie (également appelée log ).

Deux types de sortie sont imprimés par le terminal :

  1. SORTIE STD , ou 'Sortie standard ' est la sortie contenant des informations générales sur l'exécution du programme et les messages de réussite de l'exécution du programme.
  2. STDERR , ou 'Erreur standard ‘ est la sortie contenant les messages d'erreur de l'exécution du programme.

Plus le processus est grand, plus le journal produit par le processus est important. Souvent, la plupart du journal n'est même pas pertinent pour l'utilisateur. Cela utilise même des ressources inutiles de la machine.

Lire connexe :Comment filtrer les entrées du fichier journal en fonction de la plage de dates

Dans de tels cas, '/dev/null ' est très pratique. Ce fichier est utilisé comme un "récepteur ', c'est-à-dire un fichier cible pour écrire le journal. Sauf que dès que le journal est écrit dans ce fichier, il est immédiatement rejeté/supprimé par le système d'exploitation.

$ ls /dev

Surligné en jaune ci-dessus est le fichier 'null ‘ dans le répertoire ‘dev ‘ système de fichiers.

Ainsi, du fait que les données sont immédiatement supprimées, une consommation de mémoire inutile est évitée. Ceci est particulièrement utile dans le cas de scripts d'automatisation complexes qui contiennent la sortie de 10s et 20s de programmes.

Pour diriger la sortie de n'importe quel programme vers /dev/null , utilisez simplement l'opérateur de redirection dans le shell Linux (‘>’) comme suit.

$ ls > /dev/null

Comme vous pouvez le voir, quand 'ls ' est exécuté normalement, il affiche le contenu du répertoire en sortie, cependant, lorsqu'il est redirigé vers /dev/null , la sortie complète est supprimée.

Conclusion

Dans cet article, nous avons découvert /dev/null et son utilisation sous Linux. Vous pouvez en savoir plus sur la redirection de la sortie vers /dev/null avec diverses combinaisons de STDOUT et STDERR ici.

Si vous avez des questions ou des commentaires, faites-le nous savoir dans les commentaires ci-dessous !


Linux
  1. Comment rediriger /dev/urandom vers la sortie audio Linux ?

  2. DD de /dev/zero à /dev/null...ce qui se passe réellement

  3. Est-ce une erreur de lier /dev/random à /dev/urandom sous Linux ?

  4. ls -l sortie dans le répertoire /dev du système Unix/Linux

  5. echo ou print /dev/stdin /dev/stdout /dev/stderr

tty (/dev/tty ) vs pts (/dev/pts) sous Linux

Qu'est-ce que '/dev/null 2&1' sous Linux

Comment rediriger la sortie vers /dev/null sous Linux

Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

Quand utiliser /dev/random contre /dev/urandom ?

/dev/null sous Linux