Commandes Linux
Les commandes Linux en Bourne-shell et Bash ont une syntaxe commune. Cependant, chaque interpréteur de commandes a ses particularités propres. Dans ce chapitre, nous présentons uniquement la commande propre à l’interpréteur de commandes Bash. Il est possible de taper plusieurs commandes sur la même ligne en les séparant par des points-virgules ; . Les commandes sont exécutées séquentiellement, de façon Cette commande affiche le répertoire courant de l’utilisateur, donne la liste des utilisateurs connectés, puis liste les fichiers du répertoire courant. Il est possible de taper une commande sur plusieurs lignes. Pour cela les lignes de commandes, sauf la dernière, doivent se terminer par la suite de touches \<return>.Le séparateur && permet d’exécuter la commande qui le suit si et seulement si la commande qui le précède a été exécutée sans erreur (code retour du processus nul). Le séparateur || permet d’exécuter la commande qui le suit si et seulement si la commande qui le précède a été exécutée avec erreur (code retour du processus différent de 0). On appelle processus, ou tâche, l’exécution d’un programme exécutable. Au lance- ment de chaque processus, l’interpréteur de commandes ouvre d’office une entrée standard (par défaut le clavier), une sortie standard (par défaut l’écran) et la sortie d’erreur standard (par défaut l’écran) (Fig. 7.1).Ces entrées-sorties standard peuvent être redirigées vers un fichier, un tube, un périphérique. La redirection de la sortie standard consiste à renvoyer le texte qui apparaît à l’écran vers un fichier (Fig. 7.2). Aucune information n’apparaîtra à l’écran, hormis celles qui transitent par la sortie d’erreur standard.
La redirection des entrées-sorties
Il est naturellement possible de rediriger toutes les entrées-sorties standard d’un processus. Par conséquent, le processus recherchera les informations dont il a besoin dans un fichier et non plus au clavier. Il écrira dans des fichiers ce qui devait apparaître à l’écran (Fig. 7.3). La redirection des sorties peut être réalisée par effacement et création du fichier ou par ajout à la fin du fichier si ce dernier existe. Dans le cas contraire, un nouveau fichier sera créé. Dans le cas de la redirection de l’entrée, il est évident que le fichier doit exister. Le tableau 7.1 résume les différentes redirections. de copier et de concaténer des fichiers. Elle utilise pleinement les mécanismes de redirection. Elle lit l’entrée standard si aucun fichier n’est spécifié. Ce qui est lu est affiché sur la sortie standard. – tères <<texte redirige l’entrée standard jusqu’à apparition du mot texte. Cette formulation est très employée pour la création d’un fichier dans un fichier de commandes (script).la sortie standard est redirigée vers l’entrée standard de la commande less qui, quant à elle, affichera son entrée standard page par page. La commande less, contrairement à la commande more, permet à l’aide des touches claviers.
Dans les exemples précédents, nous voyons apparaître, à travers les commandes wc, less et grep, une famille particulièrement importante de commandes Linux : les filtres. Un filtre est une commande qui lit les données sur l’entrée standard, les traite et les écrit sur la sortie standard. Le concept de tube, avec sa simplicité, devient un outil très puissant dans Linux qui propose un choix très vaste de filtres. Les filtres les plus utilisés sont les suivants : d décrivant tous les utilisateurs. Le filtre grep ne conserve que les lignes contenant la chaîne /bin/bash. Le filtre wc l compte le nombre de lignes passées par le filtre grep. Le mécanisme de tube est très pratique pour assembler entre elles des commandes Linux. Cependant, beaucoup de commandes ne lisent pas dans leur entrée standard : ls, rm, cp, ln, mv et bien d’autres ne sont pas des filtres, mais traitent leurs arguments :Linux attend la fin de l’exécution de la commande en cours d’exécution avant de permettre à l’utilisateur de relancer une nouvelle commande. Lorsqu’une commande ne nécessite pas de dialogue avec l’utilisateur et que sa durée d’exécution est importante, il est possible de l’exécuter en arrière-plan en ajoutant le caractère spécial & à la fin de la commande. Le système Linux lance alors la commande et redonne immédiatement la main à l’utilisateur pour d’autres travaux.