Jannah Theme License is not validated, Go to the theme options page to validate the license, You need a single license for each domain name.
Linux

Qu’est-ce que /dev/null sous Linux ?

En termes techniques, « /dev/null » est un fichier de périphérique virtuel. En ce qui concerne les programmes, ceux-ci sont traités comme de vrais fichiers. Les utilitaires peuvent demander des données à partir de ce type de source et le système d’exploitation leur fournit des données. Mais, au lieu de lire à partir du disque, le système d’exploitation génère ces données de manière dynamique. Un exemple d’un tel fichier est « /dev/zero ».

Dans ce cas, cependant, vous écrirez dans un fichier de périphérique. Tout ce que vous écrivez sur « /dev/null » est jeté, oublié, jeté dans le vide. Pour comprendre pourquoi cela est utile, vous devez d’abord avoir une compréhension de base de la sortie standard et de l’erreur standard dans les systèmes d’exploitation de type Linux ou *nix.

Contenu

stdout et stder

Un utilitaire de ligne de commande peut générer deux types de sortie. La sortie standard est envoyée à stdout. Les erreurs sont envoyées à stderr.

Par défaut, stdout et stderr sont associés à votre fenêtre de terminal (ou console). Cela signifie que tout ce qui est envoyé à stdout et stderr est normalement affiché sur votre écran. Mais grâce aux redirections du shell, vous pouvez modifier ce comportement. Par exemple, vous pouvez rediriger stdout vers un fichier. De cette façon, au lieu d’afficher la sortie à l’écran, elle sera enregistrée dans un fichier que vous pourrez lire plus tard – ou vous pouvez rediriger la sortie standard vers un périphérique physique, par exemple un écran LED ou LCD numérique.

Un article complet sur les pipes et les redirections est disponible si vous souhaitez en savoir plus.

  • Avec 2> vous redirigez les messages d’erreur standard. Exemple : 2>/dev/null ou 2>/home/user/error.log.
  • Avec 1> vous redirigez la sortie standard.
  • Avec &> vous redirigez à la fois l’erreur standard et la sortie standard.
  • Utilisez /dev/null pour vous débarrasser de la sortie dont vous n’avez pas besoin

    Puisqu’il existe deux types de sortie, la sortie standard et l’erreur standard, le premier cas d’utilisation consiste à filtrer l’un ou l’autre type. C’est plus facile à comprendre à travers un exemple pratique. Supposons que vous recherchiez une chaîne dans « /sys » pour trouver des fichiers faisant référence aux paramètres d’alimentation.

    Il y aura beaucoup de fichiers qu’un utilisateur normal non root ne pourra pas lire. Cela entraînera de nombreuses erreurs « Autorisation refusée ».

    Erreurs de Dev Null Grep

    Ceux-ci encombrent la sortie et rendent plus difficile la détection des résultats que vous recherchez. Étant donné que les erreurs « Autorisation refusée » font partie de stderr, vous pouvez les rediriger vers « /dev/null ».

    Dev Null Grep sans erreurs

    Comme vous pouvez le voir, c’est beaucoup plus facile à lire.

    Dans d’autres cas, il peut être utile de faire l’inverse : filtrer la sortie standard afin que vous ne puissiez voir que les erreurs.

    Erreurs de ping nul du développeur

    La capture d’écran ci-dessus montre que, sans redirection, ping affiche sa sortie normale lorsqu’il peut atteindre la machine de destination. Dans la deuxième commande, rien ne s’affiche tant que le réseau est en ligne, mais dès qu’il est déconnecté, seuls les messages d’erreur s’affichent.

    Psssssst :  Comment étendre un disque existant sous Linux ?

    Vous pouvez rediriger à la fois stdout et stderr vers deux emplacements différents.

    Dans ce cas, les messages stdout ne s’afficheront pas du tout et les messages d’erreur seront enregistrés dans le fichier « error.log ».

    Rediriger toutes les sorties vers /dev/null

    Parfois, il est utile de se débarrasser de toutes les sorties. Il y a deux façons de faire ça.

    La chaîne >/dev/null signifie « envoyer stdout à /dev/null » et la deuxième partie, 2>&1, signifie envoyer stderr à stdout. Dans ce cas, vous devez faire référence à stdout en tant que « &1 » au lieu de simplement « 1 ». Écrire « 2> 1 » redirigerait simplement stdout vers un fichier nommé « 1 ».

    Ce qu’il est important de noter ici, c’est que l’ordre est important. Si vous inversez les paramètres de redirection comme ceci :

    cela ne fonctionnera pas comme prévu. C’est parce que dès que 2>&1 est interprété, stderr est envoyé à stdout et affiché à l’écran. Ensuite, stdout est supprimé lorsqu’il est envoyé à « /dev/null ». Le résultat final est que vous verrez des erreurs à l’écran au lieu de supprimer toutes les sorties. Si vous ne vous souvenez pas de l’ordre correct, il existe une redirection plus simple et beaucoup plus facile à saisir :

    Dans ce cas, &>/dev/null équivaut à dire « rediriger à la fois stdout et stderr vers cet emplacement ».

    Psssssst :  Comment changer le menu de démarrage dans Linux Mint ?

    Autres exemples où il peut être utile de rediriger vers /dev/null

    Supposons que vous vouliez voir à quelle vitesse votre disque peut lire des données séquentielles. Le test n’est pas extrêmement précis mais suffisamment précis. Vous pouvez utiliser dd pour cela, mais dd sort vers stdout ou peut recevoir l’instruction d’écrire dans un fichier. Avec of=/dev/null, vous pouvez dire à dd d’écrire dans ce fichier virtuel. Vous n’avez même pas besoin d’utiliser des redirections de shell ici. if= spécifie l’emplacement du fichier d’entrée à lire ; of= spécifie le nom du fichier de sortie, où écrire.

    Dev Null Dd

    Dans certains scénarios, vous voudrez peut-être voir à quelle vitesse vous pouvez télécharger à partir d’un serveur. Mais vous ne voulez pas écrire inutilement sur votre disque. Assez simplement, n’écrivez pas dans un fichier normal, écrivez dans « /dev/null ».

    Conclusion

    Espérons que les exemples de cet article peuvent vous inspirer pour trouver vos propres façons créatives d’utiliser « /dev/null ».

    Connaissez-vous un cas d’utilisation intéressant pour ce fichier de périphérique spécial ? Laissez un commentaire ci-dessous et partagez vos connaissances !

    Cet article est-il utile ? Oui Non

    Bouton retour en haut de la page

    Adblock détecté

    Veuillez désactiver votre bloqueur de publicités pour pouvoir visualiser le contenu de la page. Pour un site indépendant avec du contenu gratuit, c’est une question de vie ou de mort d’avoir de la publicité. Merci de votre compréhension! Merci