Commande Bash fc : Manipulez Facilement l’Interpréteur de Commandes Bash Comme un Professionnel

Avez-vous déjà exécuté une commande dans Bash et obtenu une erreur en raison d’un mot mal orthographié ? Ou peut-être avez-vous oublié les trois dernières commandes que vous avez exécutées ? Au lieu de les réécrire ou de les mémoriser, la commande Bash fc peut vous aider à effectuer rapidement des modifications et à réexécuter les commandes précédentes.

Dans cet article, vous apprendrez comment utiliser fc pour modifier et réexécuter des commandes à partir de votre historique de commandes. Après avoir lu ce guide, vous maîtriserez fc comme le guerrier de la ligne de commande que vous souhaitez être !

Prérequis

Cet article sera un tutoriel. Si vous prévoyez de suivre étape par étape, vous avez besoin d’un ordinateur Linux ou d’un ordinateur Windows 10 avec Windows Subsystem for Linux (WSL) activé. Ce tutoriel utilisera Ubuntu 20.04 LTS.

À propos de la commande fc de Bash

fc n’est pas une application Linux mais un utilitaire de shell intégré dans Bash. Bash est disponible dans la plupart des principales distributions Linux. En quelques frappes de touches, la commande fc de Bash vous permet de lister, modifier ou exécuter des commandes précédentes.

La commande fc est également disponible dans le Shell Z (ZSH). Mais l’exemple dans cet article utilisera fc dans Bash.

Avez-vous exécuté une longue commande qui s’est avérée incorrecte? fc vous évitera de retaper toute la commande. Au lieu de cela, fc vous permet d’éditer la commande avec l’éditeur de texte de votre choix. Après avoir sauvegardé vos modifications, la ou les commandes modifiées s’exécuteront automatiquement!

Prêt à mettre fc à l’épreuve? Plongeons-y!

Liste des commandes précédentes

Vous êtes-vous éloigné de votre ordinateur, revenu, et avez oublié quelle commande vous avez exécutée en dernier? Ou peut-être ne vous souvenez-vous pas si vous avez exécuté plusieurs commandes dans la bonne séquence. Que faire? Détendez-vous, fc vous aidera à vous souvenir. Voici comment faire.

1. Ouvrez un terminal Bash sur votre ordinateur.

2. Pour que fc soit utile, il doit avoir une sorte d’historique des commandes avec lequel travailler. Comme vous venez d’ouvrir une nouvelle fenêtre de terminal, il peut ne pas y avoir d’historique des commandes encore. Pour constituer un historique des commandes à des fins de test, copiez chaque commande ci-dessous et exécutez-la dans votre terminal. Ces commandes sont non intrusives et ne mettent pas votre ordinateur en danger.

# Effacer l'écran
 clear
 
# Afficher une chaîne dans la session du terminal
 echo 'working on the command line with fc'
 
# Afficher des informations système
 uname -a
 
# Utiliser la commande PS pour obtenir des informations sur les processus
 ps aux

3. Ensuite, énumérez toutes les commandes de l’historique en exécutant la commande ci-dessous. L’option -l indique à la commande fc de simplement répertorier toutes les commandes précédentes sans les exécuter.

fc -l

Comme vous pouvez le voir ci-dessous, la commande fc affiche les quatre commandes que vous avez précédemment émises. Les chiffres à gauche indiquent l’ordre dans lequel vous avez exécuté chaque commande.

Listing command history with fc

Modification et Réexécution de la Dernière Commande

Imaginez une situation où vous installez une application et faites une faute d’orthographe. En conséquence, la commande échoue. Au lieu de retaper toute la commande, pourquoi ne pas la modifier et la réexécuter automatiquement ? Pour ce faire, suivez ces étapes.

1. Simulez l’installation d’une application qui n’existe pas en exécutant la commande ci-dessous dans votre terminal. Remarquez que vous allez délibérément mal orthographier le nom de l’application caffiene.

sudo apt install caffiene -y

En conséquence, l’installation tentée échoue. Vous obtiendrez un message similaire à celui ci-dessous.

Failed installation message

2. Pour corriger la dernière commande que vous avez exécutée, exécutez la commande ci-dessous dans le terminal. Cela ouvrira le tampon d’historique des commandes dans l’éditeur de texte par défaut. Dans cet exemple, l’éditeur de texte par défaut est nano.

fc

La capture d’écran ci-dessous montre la dernière commande à l’intérieur de l’éditeur nano.

Editing the last command with nano.

Si nano n’est pas votre éditeur de texte préféré, vous pouvez indiquer à fc d’utiliser un éditeur différent, tel que vi. Pour ce faire, incluez l’option -e suivie du nom de l’éditeur de texte. Par exemple, fc -e vi ouvrira l’historique des commandes dans l’éditeur de texte vi.

3. Une fois dans l’éditeur de texte nano, corrigez l’orthographe du nom de l’application de caffiene à caffeine.

4. Après avoir corrigé le nom de l’application, appuyez sur CTRL+X pour quitter nano.

5. À la prochaine invite vous demandant de Enregistrer le tampon modifié?, appuyez sur Y —> Entrée pour sauvegarder les modifications.

Editing the last command and saving changes to the history buffer

Immédiatement après avoir quitté l’éditeur de texte, fc exécute automatiquement la commande que vous avez modifiée.

Automatically re-executing the edited command

Modification et Réexécution d’une Commande Précédente

Avec fc, non seulement vous pouvez modifier la dernière commande que vous avez exécutée, mais vous pouvez également modifier n’importe laquelle des commandes précédentes que vous avez exécutées. Par exemple, pour modifier la commande echo 'working on the command line with fc', suivez ces étapes.

1. Listez la commande précédente dans le terminal en exécutant la commande ci-dessous.

fc -l

2. Trouvez la commande que vous souhaitez modifier dans la liste de l’historique des commandes et notez le numéro qui lui est associé à gauche. Dans cet exemple, le numéro de la commande est 2.

Listing the command history and finding the command number to edit

3. Pour modifier la commande avec le numéro d’entrée 2, exécutez la commande ci-dessous dans le terminal. La commande s’ouvrira dans l’éditeur de texte pour être modifiée.

fc 2

4. Une fois dans l’éditeur de texte, modifiez la commande selon vos besoins.

5. Après avoir modifié la commande, appuyez sur CTRL+X pour quitter nano.

6. À la prochaine invite vous demandant de Enregistrer le tampon modifié?, appuyez sur Y —> Enter pour sauvegarder les modifications.

Editing a past command entry in the history buffer

Après avoir sauvegardé la commande et quitté l’éditeur de texte, la commande que vous avez modifiée s’exécute automatiquement dans le shell.

Modification et Réexécution de Plusieurs Commandes

Si vous pensez que fc peut seulement éditer et exécuter une commande précédente à la fois, vous êtes pour une surprise. Pourquoi ? fc vous permet également d’éditer plusieurs commandes précédentes ! Comment l’édition de plusieurs commandes précédentes est-elle utile ? Pour commencer, vous pouvez changer l’ordre d’exécution des commandes.

Supposons que vous vouliez éditer les commandes précédentes numéros 2 à 7. Pour ce faire, procédez comme suit.

1. Exécutez la commande suivante dans votre terminal Bash et appuyez sur Enter. La commande suivante se lit comme suit : fc <espace> 2 <espace> 7, ce qui signifie que fc ouvrira les commandes 2 à 7 pour édition.

fc 2 7

2. Ensuite, éditez les commandes selon vos besoins. Pour cet exemple :

  • Supprimez la commande sudo apt install caffiene -y.
  • Inversez l’ordre de uname -a et ps aux.
  • Supprimez clear.
Editing command history entries 2 through 7 at once

3. Après avoir édité les commandes, appuyez sur CTRL+X pour quitter nano.

4. À la prochaine invite vous demandant de Enregistrer le tampon modifié?, appuyez sur Y —> Enter pour sauvegarder les modifications.

Les commandes que vous avez éditées s’exécuteront automatiquement après la sortie de l’éditeur de texte.

Automatically re-executing the edited command

Réexécution d’une commande précédente sans modification

Supposons que vous ayez seulement besoin d’exécuter une commande précédente sans la modifier d’abord. fc dispose d’une option à cet effet. Suivez les étapes ci-dessous pour exécuter une commande précédente à partir d’une entrée spécifiée dans l’historique.

  1. Listez la commande précédente dans le terminal en exécutant la commande ci-dessous.
fc -l

2. Dans la liste de l’historique des commandes, trouvez la commande que vous souhaitez exécuter à nouveau et notez le numéro qui lui est associé. Dans cet exemple, le numéro de la commande est 2.

Listing the command history and finding the command number to execute

3. Pour exécuter la commande précédente spécifique, exécutez la commande ci-dessous dans le shell. L’option -s indique à fc de sauter l’édition et de continuer à exécuter la commande numéro 2.

fc -s 2

La capture d’écran ci-dessous montre que fc a exécuté la commande numéro 2 à partir de l’historique des commandes.

Executing a previous command from the history buffer without editing

Conclusion

Cet article visait à susciter votre intérêt pour une commande utile mais souvent oubliée appelée fc. Vous avez appris comment utiliser fc pour éviter de retaper les commandes précédemment exécutées, ce qui peut être une perte de temps.

Avec les connaissances que vous avez maintenant sur fc, est-ce quelque chose que vous pensez utiliser ? Ou continuerez-vous à préférer retaper les commandes dans le shell ? Faites un choix judicieux !

Source:
https://adamtheautomator.com/bash-fc-command/