Historique des commandes

LinuxBeginner
Pratiquer maintenant

Introduction

Avez-vous déjà consulté un site web, fermé l’onglet, puis réalisé que vous deviez y retourner ? Vous avez probablement utilisé l’Historique de votre navigateur.

Le terminal Linux propose la même fonction ! Linux enregistre vos commandes dans un journal appelé historique des commandes.

Cette fonction est importante, car le travail dans un shell est souvent répétitif. L’historique n’est pas seulement pratique pour éviter de tout retaper : c’est aussi un moyen concret de réduire la saisie, d’éviter les erreurs et de réutiliser des commandes qui ont déjà fonctionné.

Dans ce laboratoire, vous apprendrez à accéder à ce journal, à rejouer vos actions récentes et à rechercher des commandes précédentes.

Afficher l’historique des commandes

Dans cette étape, vous allez consulter le journal de vos commandes. Le shell enregistre vos commandes dans une liste.

Commencez par créer quelques entrées dans l’historique en exécutant les commandes suivantes :

ls
pwd
whoami

Affichez ensuite l’historique :

history

Vous devriez voir une liste numérotée de tout ce que vous avez saisi :

    1  ls
    2  pwd
    3  whoami

Voici le relevé de votre session.

Les numéros sont utiles, car l’historique n’est pas seulement un journal : c’est aussi un index. Les shells peuvent utiliser ces commandes enregistrées pour les rappeler, les répéter ou les rechercher.

Pour afficher uniquement les 3 dernières entrées :

history -3

Répéter la dernière commande (!!)

Dans cette étape, vous allez utiliser le bouton « Répéter » de Linux : !! (prononcé « bang-bang »).

Cette séquence rappelle la toute dernière commande.

Affichez la date :

date

Ensuite, au lieu de saisir de nouveau date :

!!

Le terminal remplace !! par date afin que vous puissiez vérifier la commande. Appuyez de nouveau sur Entrée pour exécuter la commande développée.

C’est un exemple d’expansion de l’historique. Le shell interprète une référence abrégée vers une commande précédente et la remplace avant son exécution.

Essayez avec echo :

echo "Hello LabEx"
!!

Après l’expansion de !!, appuyez de nouveau sur Entrée pour exécuter la commande `echo rappelée. C’est un moyen rapide de dire « Fais cela à nouveau », tout en vérifiant la commande avant son exécution.

Rappeler une commande (recherche inversée)

Dans cette étape, vous allez retrouver une commande précédente sans faire défiler toute la liste de l’historique.

Utilisez la recherche inversée (Ctrl+R). Elle fonctionne comme la commande « Rechercher dans la page ».

Commencez par exécuter deux commandes pour le test :

grep "root" /etc/passwd
grep "bin" /etc/passwd

Recherchons maintenant la première commande grep "root".

Appuyez sur Ctrl+R. L’invite devient (reverse-i-search) ou bck-i-search.

Commencez à saisir grep. Le terminal affiche la correspondance la plus récente (grep "bin"...). Appuyez de nouveau sur Ctrl+R pour revenir à la correspondance précédente (grep "root"...), puis appuyez sur Entrée pour l’exécuter.

C’est ainsi que les utilisateurs expérimentés travaillent rapidement. Ils ne retapent pas les commandes ; ils les recherchent.

Ce changement de perspective est important. Utiliser efficacement le terminal ne consiste pas à mémoriser chaque commande et à la retaper depuis le début. Il s’agit d’utiliser les outils intégrés du shell pour rappeler et adapter ce que vous avez déjà fait.

Résumé

Dans ce laboratoire, vous avez appris que vous n’avez pas à compter uniquement sur votre mémoire. Linux mémorise les commandes à votre place.

  • history : le journal de vos actions précédentes.
  • !! : le bouton « Répéter » la dernière commande.
  • Ctrl+R : la fonction de « Recherche » qui permet de retrouver instantanément d’anciennes commandes.

Ces outils vous permettent de travailler plus rapidement et de réduire les erreurs de saisie. Pourquoi retaper deux fois une longue commande quand vous pouvez simplement la rechercher ?