Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

jeu. 28 fév 20:23:07 CET 2002

Le manuel de formation données la commande mettrait normalement la dernière ligne à l'écran ; maintenant il est ajouté au fichier Liste d'envie.


image


5.2. Fonctionnalités de redirection avancées


5.2.1. Utilisation de descripteurs de fichiers


Il existe trois types d'E/S, qui ont chacune leur propre identifiant, appelé descripteur de fichier :


• entrée standard : 0

• sortie standard : 1

• erreur standard : 2


Dans les descriptions suivantes, si le numéro du descripteur de fichier est omis et que le premier caractère de l'opérateur de redirection est <, la redirection fait référence à l'entrée standard (descripteur de fichier 0). Si le premier caractère de l'opérateur de redirection est >, la redirection fait référence à la sortie standard (descripteur de fichier 1).


Quelques exemples pratiques rendront cela plus clair :


ls> liste d'annuaire 2> et 1


dirigera à la fois la sortie standard et l'erreur standard vers le fichier liste d'annuaire, tandis que la commande


ls 2>&1 > liste d'annuaire


dirigera uniquement la sortie standard vers liste d'annuaire. Cela peut être une option utile pour les programmeurs.


Les choses deviennent assez compliquées ici, ne confondez pas l'utilisation de l'esperluette ici avec son utilisation dans la section 4.1.2.1, où l'esperluette est utilisée pour exécuter un processus en arrière-plan. Ici, il sert simplement à indiquer que le numéro qui suit n'est pas un nom de fichier, mais plutôt un emplacement vers lequel le flux de données est pointé. Notez également que le signe plus grand que ne doit pas être séparé par des espaces du numéro du descripteur de fichier. S'il était séparé, nous redirigerions la sortie vers un fichier. L'exemple ci-dessous le démontre :


[nancy@asus /var/tmp]$ ls 2> tmp


[nancy@asus /var/tmp]$ ls -l tmp

-rw-rw-r-- 1 nancy nancy 0 7 sept 12:58 tmp


[nancy@asus /var/tmp]$ ls 2 > tmp

ls : 2 : aucun fichier ou répertoire de ce type

[nancy@asus /var/tmp]$ ls 2> tmp


[nancy@asus /var/tmp]$ ls -l tmp

-rw-rw-r-- 1 nancy nancy 0 7 sept 12:58 tmp


[nancy@asus /var/tmp]$ ls 2 > tmp

ls : 2 : aucun fichier ou répertoire de ce type

La première commande qui nancy s'exécute est correct (même si aucune erreur n'est générée et donc le fichier vers lequel l'erreur standard est redirigée est vide). La deuxième commande attend que 2 est un nom de fichier, qui n'existe pas dans ce cas, donc une erreur s'affiche.


Toutes ces fonctionnalités sont expliquées en détail dans les pages d'informations sur Bash.


image


Meilleur système d'exploitation Cloud Computing chez OnWorks :