Les opérateurs de chaînage de commandes sont des caractères spéciaux utilisés pour écrire des scripts shell miniatures dans la ligne de commande. Ils sont généralement utilisés pour exécuter des commandes dans un certain ordre, défini par le placement des opérateurs entre les commandes. Ceci est incroyablement utile pour automatiser les tâches.

Découvrons quelques opérateurs de chaînage communs sur Linux qui peuvent vous aider à effectuer des tâches plus rapidement et avec des intervalles utilisateur moindres.

1. L'opérateur d'esperluette (&)

Souvent, lorsque vous ouvrez un programme ou exécutez une commande à partir du shell, vous devez soit attendre que la commande se termine, soit quitter manuellement le programme avant de pouvoir continuer à utiliser le shell. C'est là que l'opérateur esperluette (&) entre en jeu.

En ajoutant l'opérateur esperluette à n'importe quelle commande, vous dictez le shell à exécuter cette commande Linux en arrière-plan afin que vous puissiez continuer à utiliser le shell sans connexion.

instagram viewer
gedit &

Habituellement, si vous exécutez gedit depuis le terminal, vous ne pourrez pas utiliser le terminal à moins de fermer l'éditeur de texte. Mais, en ajoutant l'opérateur esperluette, vous pouvez le faire fonctionner en arrière-plan et continuer à utiliser le shell immédiatement.

2. L'opérateur point-virgule (;)

L'opérateur point-virgule est un opérateur de chaînage Linux incroyablement utile que vous pouvez utiliser pour exécuter des commandes dans un ordre séquentiel défini. Ordonnez vos commandes et séparez-les par des points-virgules.

pwd; mkdir test; CDtest; toucher le fichier

La syntaxe ci-dessus dicte au shell d'exécuter chaque commande l'une après l'autre. Notez que le shell ne vérifie pas si chaque commande se termine avec succès. Dès que le shell reçoit un code de retour, il passe à l'exécution de la commande suivante.

3. L'opérateur OU (||)

L'opérateur OU exécutera la commande qui suit uniquement si la commande précédente échoue, c'est-à-dire renvoie un code de sortie de 0. Il fonctionne comme une porte OU logique, qui renvoie une valeur de 1 lorsque l'entrée est 0.

mauvaise_commande || ls

Dans cet exemple de syntaxe, mauvaise_commande est une fausse commande qui ne s'exécutera pas et puisqu'elle échoue, la commande succédant à l'opérateur OR, qui est la commande ls, s'exécutera avec succès.

4. L'opérateur de tuyauterie (|)

L'opérateur pipe dirige la sortie de la commande précédente comme entrée de la commande suivante. Il est le plus souvent utilisé pour filtrer les données avec la commande grep.

épreuve de chat | grep -i "se servir de"

Cette commande envoie la sortie de la commande du chat comme entrée de la commande grep, qui filtre ensuite la sortie par rapport à une chaîne spécifiée.

5. L'opérateur ET (&&)

Cet opérateur fonctionne de manière similaire à l'opérateur point-virgule sauf que, contrairement à l'opérateur point-virgule, l'opérateur ET n'exécutera les commandes que si la commande précédente a été exécutée avec succès.

pwd && test mkdir && essai de CD && mauvaise_commande && ls

Dans cet exemple de syntaxe, le shell exécutera avec succès toutes les commandes jusqu'à mauvaise_commande. Cependant, étant donné que bad_command ne s'exécute pas, le shell renverra une erreur et ignorera la commande ls.

6. L'opérateur NOT (!)

L'opérateur NOT fonctionne de la même manière qu'une instruction except en programmation. Par exemple, si vous souhaitez effectuer une opération sur un grand nombre de fichiers dans un répertoire mais souhaitez exclure un quelques-uns basés sur un paramètre, vous pouvez utiliser l'opérateur NOT en passant le paramètre après le caractère NOT (!).

rm-r !(*.SMS)

Cet exemple de commande supprimera de manière récursive tous les fichiers d'un répertoire, à l'exception des fichiers qui ont un ".SMS" extension.

7. L'opérateur de priorité ((..))

Les commandes qui suivent les opérateurs ET et OU dépendent du code de sortie de la commande précédente. Ces opérateurs sont binaires et n'évaluent que les deux commandes qui les précèdent et les suivent.

Ainsi, lorsque vous travaillez avec plusieurs opérateurs, il est important de définir des groupes et une priorité pour vous assurer que la séquence d'exécution répond à vos attentes.

(ls *.txt > txt-files.list && cp *.tx ~) && (ls *.deb > deb-packages.list && cp *.deb ~) || écho "Test de priorité !"

Dans cet exemple de syntaxe, les deux groupes de commandes doivent renvoyer un code de sortie 0 pour garantir l'exécution réussie de la dernière commande. Cet exemple nécessite que les deux commandes du premier ensemble () se terminent par 0 pour que le second ensemble () s'exécute.

8. L'opérateur de combinaison ({..})

Comme son nom l'indique, l'opérateur de combinaison est utilisé pour regrouper les commandes. Quelles que soient les commandes que vous souhaitez regrouper, vous pouvez les placer entre accolades et elles seront exécutées en fonction du code de sortie de la première commande.

test -f /etc/passwd && {pwd; date} && écho $0; écho "Bonjour"

L'exemple de syntaxe testera si le fichier /etc/passwd est présent, imprimez le répertoire de travail actuel, la date, le nom du shell et l'écho "Hello".

9. Concaténation ou opérateur d'échappement (\)

L'opérateur de concaténation ou d'échappement a deux fonctions. Vous pouvez l'utiliser pour concaténer deux commandes ou comme caractère d'échappement lorsque vous travaillez avec des chaînes dans le shell.

mkdir test0 test1 \ test2
echo "Bonjour! depuis le
autre côté"

La première commande créera quatre répertoires nommés test0 à test2, et la deuxième commande imprimera la chaîne séparée par une nouvelle ligne.

10. Les opérateurs de redirection (>, >>,

Les opérateurs de redirection redirigent la sortie ou l'entrée vers un fichier soit en réécrivant le fichier, soit en y ajoutant. Si vous souhaitez réécrire un fichier, vous devez utiliser la syntaxe du crochet simple (>). Si vous souhaitez ajouter à un fichier, vous devrez utiliser la syntaxe du double crochet (>>).

écho "dsd"> test; écho "bsss">> test

Dans l'exemple de syntaxe, la première commande écrasera le fichier "test" avec la chaîne fournie mais, dans la deuxième commande, la chaîne fournie sera ajoutée au fichier de test.

Accélérez le flux de travail de votre terminal Linux

Bien que l'utilisation d'opérateurs spéciaux rationalise considérablement l'exécution des tâches pour vous, il existe de nombreuses autres façons d'accélérer votre flux de travail.

Un moyen simple et utile d'en faire plus en moins de temps est de vous familiariser avec quelques raccourcis shell pratiques. S'habituer à ces raccourcis ira loin, et vous vous retrouverez à les utiliser aussi longtemps que vous utiliserez Linux.