Maison  >  Article  >  Opération et maintenance  >  Analyse complète de la redirection sous Linux

Analyse complète de la redirection sous Linux

巴扎黑
巴扎黑original
2017-08-07 13:22:042345parcourir

Cet article présente principalement une brève analyse des problèmes de redirection sous Linux. Les amis qui en ont besoin peuvent se référer à l'

Introduction

Dans. Dans le domaine informatique, la redirection est une fonctionnalité de la plupart des interpréteurs de ligne de commande, y compris divers shells Unix qui peuvent rediriger les flux standard vers des emplacements spécifiés par l'utilisateur. Les programmes sur les systèmes d'exploitation de type Unix peuvent effectuer une redirection via l'appel système dup2, ou via freopen(3) et popen, moins flexibles mais de niveau supérieur.

1 Redirection

1.1 Symbole de redirection

> ; la sortie vers un fichier ou un périphérique écrase le fichier d'origine
> ! La redirection de la sortie vers un fichier ou un périphérique force l'écrasement du fichier d'origine
>> La redirection de la sortie vers un fichier ou un périphérique ajoute le fichier d'origine.
dc75ff171be458f58dc4df3651e617dd le fichier d'origine b-shell
2>> Rediriger une sortie d'erreur standard vers un fichier ou un périphérique Ajouter au fichier d'origine
2>&1 Rediriger une sortie d'erreur standard Vers le commentaire de sortie standard : 1 peut signifier une sortie standard
> Commande en entrée

1.3 Exemple de redirection de commande

Lors de l'exécution de la commande bash, il y a trois entrées principales et situations de sortie, à savoir:

1.L'entrée standard;le code est 0;la méthode utilisée est 36f9ae6969ef2ab093b0efcb8d220b97


[test @test test]# ls -al > list.txt
sera affichée Les résultats sont affichés. au fichier list.txt Si le fichier existe, il sera remplacé !


[test @test test]# ls -al >> list.txt
Accumulez les résultats affichés dans le fichier list.txt Le fichier est cumulatif et les anciennes données sont conservées !


[test @test test]# ls -al 1> list.txt  2> list.err
Afficher les données correctes dans list.txt et les données erronées dans list.err


[test @test test]# ls -al 1> list.txt 2> &1
Envoyez les données affichées, qu'elles soient correctes ou incorrectes, dans list.txt ! Si les fichiers d'erreur et corrects sont générés dans le même fichier, ils doivent être écrits selon la méthode ci-dessus ! Ne peut pas être écrit dans d'autres formats !


[test @test test]# ls -al 1> list.txt 2> /dev/null
Les données affichées seront correctement sorties dans list.txt et les données incorrectes seront supprimées ! /dev/null peut être considéré comme un périphérique à trou noir. S'il est vide, il ne sera pas sauvegardé.

1.4 Pourquoi utiliser la redirection de sortie de commande

• Lorsque les informations affichées à l'écran sont importantes et que nous devons les enregistrer ;

• Les programmes exécutés en arrière-plan ne veulent pas qu'ils interfèrent avec la sortie normale de l'écran ;
• Les résultats d'exécution de certaines commandes de routine système (telles que les fichiers écrits dans /etc/crontab) ne veulent pas qu'ils interfèrent avec les résultats normaux de sortie de l'écran. Quand il peut être sauvegardé ;
• Pour certaines commandes d'exécution, nous connaissons déjà leurs éventuels messages d'erreur, donc quand nous voulons les jeter avec "2> /dev/null" ; 🎜>• Les messages d'erreur et les messages corrects doivent être affichés séparément une heure.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn