Avez-vous déjà exécuté une commande dans Bash et obtenu une erreur à cause 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 réécrire ou de se souvenir des commandes précédentes, le Bash fc
peut aider à effectuer des modifications rapides et à réexécuter les commandes précédentes.
Dans cet article, vous apprendrez à tirer parti de fc
pour modifier et ré-exécuter des commandes à partir de votre historique de commandes. Après avoir lu ce guide, vous manierez fc
comme le guerrier de la ligne de commande que vous voulez ê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 le sous-système Windows pour Linux (WSL) activé. Ce tutoriel utilisera Ubuntu 20.04 LTS.
À propos de Bash fc
Commande
fc
n'est pas une application Linux mais un utilitaire shell intégré dans Bash. Bash est disponible dans la plupart des principales distributions Linux. En quelques frappes, le Bash fc
La commande vous permet de lister, modifier ou exécuter les commandes précédentes.
Le
fc
La commande est également disponible dans Z Shell (ZSH). Mais l'exemple de cet article utiliserafc
dans Bash.
Avez-vous exécuté une longue commande qui s'est avérée erronée ? fc
vous évitera de retaper toute la commande. Au lieu de cela, fc
vous permet de modifier la commande à l'aide de l'éditeur de texte de votre choix. Après avoir enregistré vos modifications, la ou les commandes modifiées s'exécuteront automatiquement !
Prêt à prendre fc
pour un tour? Plongeons !
Liste des commandes précédentes
Vous êtes-vous éloigné de votre ordinateur, êtes-vous revenu et avez-vous oublié la dernière commande que vous avez exécutée ? Ou peut-être que vous ne vous souvenez pas si vous avez exécuté plusieurs commandes dans le bon ordre. Que fais-tu? Détendez-vous, fc
vous aidera à vous souvenir. Voici comment.
1. Ouvrez un terminal Bash sur votre ordinateur.
2. Pour fc
pour être utile, il doit avoir une sorte d'historique de commande avec lequel travailler. Puisque vous venez d'ouvrir une nouvelle fenêtre de terminal, il se peut qu'il n'y ait pas encore d'historique des commandes. Pour créer un historique des commandes à des fins de test, copiez chaque commande ci-dessous et exécutez-la dans votre terminal. Ces commandes ne sont pas intrusives et vous ne mettez pas votre ordinateur en danger.
# Clear the screen
clear
# print a string to the terminal session
echo 'working on the command line with fc'
# show some system information
uname -a
# use PS command to get process information
ps aux
3. Ensuite, répertoriez toutes les commandes de l'historique en exécutant la commande ci-dessous. Le -l
l'option indique fc
pour ne lister que toutes les commandes précédentes et ne pas les exécuter.
fc -l
Comme vous pouvez le voir ci-dessous, le fc
La commande affiche les quatre commandes que vous avez émises précédemment. Les nombres à gauche indiquent l'ordre d'exécution de chaque commande.
Modification et réexécution de la dernière commande
Imaginez une situation où vous installez une application et que vous avez fait une faute d'orthographe. Par conséquent, la commande échoue. Au lieu de retaper toute la commande, pourquoi ne pas modifier la commande et la réexécuter automatiquement ? Pour ce faire, suivez ces étapes.
1. Simulez l'installation d'une application inexistante en exécutant la commande ci-dessous dans votre terminal. Notez que vous allez intentionnellement mal orthographier le nom de l'application caffiene
.
sudo apt install caffiene -y
Par conséquent, la tentative d'installation échoue. Vous obtiendrez un message similaire à celui ci-dessous.
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 de l'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 dans l'éditeur nano.
Si nano n'est pas votre éditeur de texte préféré, vous pouvez indiquer
fc
d'utiliser un autre éditeur, tel que vi. Pour ce faire, incluez le-e
option 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 que vous êtes dans l'éditeur de texte nano, corrigez l'orthographe du nom de l'application à partir de caffiene
à caffeine
.
4. Après avoir corrigé le nom de l'application, appuyez sur CTRL+X
pour quitter nano.
5. À l'invite suivante vous demandant de Enregistrer le tampon modifié ? , appuyez sur Y
—> Enter
pour enregistrer les modifications.
Immédiatement après avoir quitté l'éditeur de texte, fc
exécute automatiquement la commande que vous avez modifiée.
Modifier et ré-exécuter 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 modifier n'importe laquelle des commandes précédentes que vous avez exécutées. Par exemple, pour éditer la commande echo 'working on the command line with fc'
, suivez ces étapes.
1. Répertoriez la commande précédente dans le terminal en exécutant la commande ci-dessous.
fc -l
2. Recherchez la commande que vous souhaitez modifier dans la liste de l'historique des commandes et notez le numéro à sa gauche. Dans cet exemple, le numéro de commande est 2.
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 modification.
fc 2
4. Une fois dans l'éditeur de texte, modifiez maintenant la commande selon vos besoins.
5. Après avoir modifié la commande, appuyez sur CTRL+X
pour quitter nano.
6. À l'invite suivante vous demandant de Enregistrer le tampon modifié ? , appuyez sur Y
—> Enter
pour enregistrer les modifications.
Après avoir enregistré 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 fc
ne peut modifier et exécuter qu'une seule commande précédente à la fois, alors vous allez vous régaler. Pourquoi? fc
vous permet également de modifier plusieurs commandes précédentes ! En quoi l'édition de plusieurs commandes précédentes est-elle utile ? D'une part, vous pouvez modifier l'ordre d'exécution des commandes.
Supposons que vous souhaitiez modifier les numéros de commande précédents 2 à 7. Pour ce faire, procédez comme suit.
1. Exécutez la commande ci-dessous dans votre terminal Bash et appuyez sur Entrée . La commande ci-dessous se lit comme fc
, ce qui signifie que fc
ouvrira les commandes 2 à 7 pour l'édition.
fc 2 7
2. Ensuite, modifiez les commandes selon vos besoins. Pour cet exemple :
- Supprimez le
sudo apt install caffiene -y
commande. - Échangez l'ordre de
uname -a
etps aux
. - Supprimer
clear
.
3. Après avoir modifié les commandes, appuyez sur CTRL+X
pour quitter nano.
4. À l'invite suivante vous demandant de Enregistrer le tampon modifié ? , appuyez sur Y
—> Enter
pour enregistrer les modifications.
Les commandes que vous avez modifiées s'exécuteront automatiquement après avoir quitté l'éditeur de texte.
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 modification préalable. fc
a une option pour cela. Suivez les étapes ci-dessous pour exécuter une commande précédente à partir d'une entrée spécifiée dans l'historique.
- Répertoriez 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, recherchez la commande que vous souhaitez exécuter à nouveau et notez le numéro à sa gauche. Dans cet exemple, le numéro de commande est 2.
3. Pour exécuter la commande précédente spécifique, exécutez la commande ci-dessous dans le shell. Le -s
l'option indique fc
pour sauter l'édition et continuer à exécuter la commande numéro 2.
fc -s 2
La capture d'écran ci-dessous montre fc exécuté la commande numéro 2 à partir de l'historique des commandes.
Conclusion
Cet article vise à piquer votre intérêt pour une commande utile mais souvent manquée et oubliée appelée fc
. Vous avez appris à utiliser fc
pour éviter de retaper des 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 préférerez-vous toujours ressaisir les commandes dans le shell à la place ? Faites un choix judicieux !