Retour au cours

terminal outils

Objectifs

  • Distinguer clairement un terminal d’un shell.
  • Identifier les outils que vous utilisez au quotidien : émulateur, prompt.
  • Maîtriser l’historique des commandes pour gagner en efficacité.
  • Personnaliser son environnement de base, comme l’invite de commandes.

Explications détaillées

Notions clés

Terminal vs Shell : Quelle est la différence ?

C’est une confusion fréquente. Retenez cette analogie simple : le terminal est la fenêtre du navigateur, et le shell (Bash) est le site web que vous utilisez à l’intérieur (comme Google).

  • Le Terminal (ou Émulateur de Terminal) : C’est l’application graphique que vous lancez. Elle dessine la fenêtre, gère les polices de caractères, les couleurs, le copier-coller et les onglets. C’est une émulation des anciens terminaux physiques. Exemples courants : GNOME Terminal (sur Ubuntu), Konsole (sur KDE), Terminal.app (sur macOS), Windows Terminal.
  • Le Shell : C’est le programme qui tourne à l’intérieur du terminal. Il interprète vos commandes (ls, pwd, echo), exécute des scripts et gère la logique de la ligne de commande. Bash est votre shell.

Le Prompt (Invite de Commandes)

Le prompt est la courte ligne de texte qui s’affiche avant que vous ne tapiez une commande. Il vous indique que le shell est prêt à recevoir une instruction.

Un prompt classique ressemble à ceci : utilisateur@machine:~$

  • utilisateur : Votre nom d’utilisateur.
  • machine : Le nom de l’ordinateur (hostname).
  • ~ : Le répertoire courant (le tilde ~ est un raccourci pour votre dossier personnel, ex: /home/utilisateur).
  • $ : Indique que vous êtes un utilisateur standard (un prompt # signale l’utilisateur root/administrateur).

Cette invite est entièrement personnalisable grâce à une variable spéciale nommée $PS1.

L’Historique des commandes

Le shell se souvient de toutes les commandes que vous avez tapées. C’est une fonctionnalité extrêmement utile pour ne pas avoir à retaper de longues commandes.

  • Naviguer : Utilisez les flèches Haut et Bas de votre clavier pour faire défiler les commandes précédentes.
  • Rechercher : Appuyez sur Ctrl+R, puis commencez à taper une partie de la commande que vous cherchez. Le shell vous montrera la correspondance la plus récente. Appuyez à nouveau sur Ctrl+R pour trouver des correspondances plus anciennes.
  • Afficher la liste : La commande history affiche une liste numérotée de vos dernières commandes.

Syntaxe / Usages

Présentation des commandes et raccourcis liés aux outils du terminal.

# Afficher les 15 dernières commandes de l'historique
history 15

# Exécuter à nouveau la dernière commande tapée
!!

# Exécuter la commande numéro 42 de la liste 'history'
!42

# Exécuter la dernière commande qui commençait par 'mkdir'
!mkdir

# Afficher le contenu de la variable qui définit le prompt
echo $PS1

# Changer le prompt pour la session actuelle (il sera réinitialisé à la fermeture)
# Le prompt deviendra "Mon Shell > "
export PS1="Mon Shell > "

Exemples

# 1. Voir quelles commandes vous avez récemment utilisées
history 5

# 2. Imaginons que la sortie était :
# 501  ls -l
# 502  cd ..
# 503  mkdir mon_projet
# 504  cd mon_projet
# 505  history 5

# Pour relancer la création du dossier (sans la retaper) :
!503

# 3. Changer temporairement votre invite pour quelque chose de plus simple
export PS1="-> "
# Votre terminal affichera maintenant "-> " au lieu de "user@host:~$"

Pour rechercher interactivement, appuyez sur Ctrl+R et tapez mkdir. La commande mkdir mon_projet devrait apparaître.

Bonnes pratiques

  • Personnalisez votre prompt ($PS1) pour y afficher des informations utiles, comme la branche Git actuelle. Cela vous donne un contexte visuel permanent.
  • Utilisez Ctrl+R systématiquement. C’est souvent plus rapide que de chercher avec la flèche du haut ou history | grep.
  • Ne stockez pas d’informations sensibles (mots de passe, clés d’API) dans l’historique. Préfixez la commande d’une espace (<espace>ma_commande --password=...) pour que la plupart des shells ne l’enregistrent pas.

Pièges courants

  • Exécuter à la hâte avec !! ou !n : Soyez très prudent en ré-exécutant des commandes, surtout celles qui modifient ou suppriment des fichiers (rm, mv). Vérifiez toujours la commande avant de la valider.
  • Mauvaise configuration de $PS1 : Une erreur dans la variable $PS1 peut rendre votre prompt illisible ou cacher des informations importantes. Modifiez-la toujours de manière temporaire avant de la rendre permanente.
  • Oublier de nettoyer l’historique : Si vous avez tapé un mot de passe par erreur en clair, il est dans ~/.bash_history. Pensez à éditer ce fichier pour le supprimer.

Exercices

  1. Explorez votre environnement :

    • Tapez echo $SHELL pour confirmer que vous utilisez bien Bash.
    • Tapez echo $PS1 pour voir la configuration actuelle de votre prompt.
    • Changez votre prompt pour qu’il affiche “Yes, master? ”. Exécutez quelques commandes (ls, pwd) pour voir le résultat.
  2. Devenez un pro de l’historique :

    • Tapez la commande history pour voir votre liste de commandes.
    • Repérez le numéro d’une commande simple que vous avez tapée précédemment (par exemple, un ls).
    • Exécutez-la à nouveau en utilisant sa référence !numero.
    • Maintenant, utilisez Ctrl+R pour retrouver la commande echo $PS1 que vous avez tapée plus tôt.
  3. Créer un mini-script d’information :

    • Créez un script info.sh qui affiche les informations suivantes :
      • “Mon shell est : [résultat de echo $SHELL]”
      • “Mon terminal est : [résultat de echo $TERM]”
      • “Les 5 dernières commandes étaient :”
      • [Les 5 dernières lignes de la commande history]
    • Rendez le script exécutable et lancez-le.

Sujets abordés