Comment exécuter deux ou plusieurs commandes de terminal simultanément dans Linux
Si vous utilisez Linux, vous savez à quel point la ligne de commande peut être utile pour travailler avec des fichiers, installer des logiciels et lancer des programmes. Mais cela peut être encore plus efficace si vous exécutez plusieurs commandes à la fois..
La combinaison de deux commandes ou plus sur la ligne de commande est également appelée «chaînage de commandes». Nous allons vous montrer différentes façons de combiner des commandes en ligne de commande..
Première option: l'opérateur de point-virgule (;)
L'opérateur point-virgule (;) vous permet d'exécuter plusieurs commandes successivement, que chaque commande précédente aboutisse ou non. Par exemple, ouvrez une fenêtre de terminal (Ctrl + Alt + T sous Ubuntu et Linux Mint). Tapez ensuite les trois commandes suivantes sur une ligne, séparées par des points-virgules, puis appuyez sur Entrée. Cela vous donnera une liste du répertoire en cours ( ls
), trouvez dans quel répertoire vous êtes actuellement ( pwd
), et affichez votre identifiant ( qui suis je
) tout à la fois.
ls; pwd; qui suis je
Vous n'avez pas non plus à insérer d'espaces entre les points-virgules et les commandes. Vous pouvez entrer les trois commandes en tant que ls; pwd; whoami
. Cependant, les espaces rendent la commande combinée plus lisible, ce qui est particulièrement utile si vous mettez une commande combinée dans un script shell..
Deuxième option: l'opérateur logique AND (&&)
Si vous souhaitez que la deuxième commande ne soit exécutée que si la première commande réussit, séparez les commandes avec l'opérateur logique AND, qui est constitué de deux esperluettes ( &&
). Par exemple, nous souhaitons créer un répertoire appelé MyFolder, puis le modifier, à condition qu’il ait été créé avec succès. Donc, nous tapons ce qui suit sur la ligne de commande et appuyez sur Entrée.
mkdir MyFolder && cd MyFolder
Le dossier a été créé avec succès, donc le CD
commande a été exécutée et nous sommes maintenant dans le nouveau dossier.
Nous recommandons d’utiliser l’opérateur AND logique plutôt que le point-virgule la plupart du temps (;
). Cela garantit que vous ne faites rien désastreux. Par exemple, si vous exécutez une commande pour passer à un répertoire puis forcez la suppression récursive de tous les éléments de ce répertoire ( cd / some_directory; rm -Rf *
), vous pourriez finir par ruiner votre système si le changement de répertoire n’était pas arrivé. Non pas que nous vous recommandons d'exécuter une commande pour supprimer inconditionnellement tous les fichiers d'un répertoire à la fois..
Troisième option: l'opérateur OU logique (||)
Parfois, vous voudrez peut-être exécuter une deuxième commande uniquement si la première commande ne pas réussir. Pour ce faire, nous utilisons l’opérateur OU logique, ou deux barres verticales ( ||
). Par exemple, nous voulons vérifier si le répertoire MyFolder existe ( [-d ~ / MyFolder]
) et le créer s'il ne le fait pas ( mkdir ~ / MyFolder
). Donc, nous tapons la commande suivante à l'invite et appuyez sur Entrée.
[-d ~ / MyFolder] || mkdir ~ / MyFolder
Assurez-vous qu'il y a un espace après le premier crochet et avant le deuxième crochet ou la première commande qui vérifie si le répertoire existe ne fonctionnera pas.
Dans notre exemple, le répertoire MyFolder n’existant pas, la deuxième commande crée le répertoire..
Combinaison de plusieurs opérateurs
Vous pouvez également combiner plusieurs opérateurs sur la ligne de commande. Par exemple, nous voulons d’abord vérifier si un fichier existe ( [-f ~ / sample.txt]
). Si tel est le cas, nous imprimons un message à l'écran pour le dire ( echo "Le fichier existe."
). Sinon, nous créons le fichier ( touchez ~ / sample.txt
). Donc, nous tapons ce qui suit à l'invite de commande et appuyez sur Entrée.
[-f ~ / sample.txt] && echo “Le fichier existe” || touchez ~ / sample.txt
Dans notre exemple, le fichier n'existait pas, il a donc été créé.
Voici un résumé utile de chacun des opérateurs utilisés pour combiner des commandes:
-
UNE ; B
- Exécutez A puis B, indépendamment du succès ou de l'échec de A -
UN B
- Exécuter B uniquement si A réussit -
A || B
- Exécuter B uniquement si A échoue
Toutes ces méthodes de combinaison de commandes peuvent également être utilisées dans des scripts shell sous Linux et Windows 10..
Vous pouvez également corriger automatiquement l'orthographe et les fautes de frappe lorsque vous utilisez «cd» sur la ligne de commande sous Linux pour éviter des conséquences dramatiques lors de la combinaison de commandes..