1. TP 1 - Raccourcis terminal, historique

Voici un rapide aperçu des raccourcis claviers et de l'historique lié au shell (terminal).

1.1. Le shell

On peut déterminer quel est le shell utilisé en affichant le contenu de la variable SHELL :

# afficher le contenu de la variable SHELL
echo $SHELL
/bin/bash

Le symbole \$ placé devant la variable signifie "le contenu de" ou "la valeur de".

La commande echo permet d'afficher du texte.

echo "J'utilise le shell $SHELL"
J'utilise le shell /bin/bash

echo "nous sommes le `date`"
nous sommes le mer. 03 nov. 2021 15:09:51 CET

Les backquotes (`) qui entourent une commande permettent d'exécuter la commande dans la chaîne. Ici, on lance la commande date qui affiche le temps CET =Central European Time.

1.2. Raccourcis

Les raccourcis clavier dans le shell peuvent être obtenus grâce à la commande man 3 readline et il faut trouver la section EDITING COMMANDS :

man 3 readline
EDITING COMMANDS
       The following is a list of the names of the commands  and  the  default
       key sequences to which they are bound.  Command names without an accom‐
       panying key sequence are unbound by default.

       In the following descriptions, point refers to the current cursor posi‐
       tion,  and  mark refers to a cursor position saved by the set-mark com‐
       mand.  The text between the point and mark is referred to  as  the  re‐
       gion.

   Commands for Moving
       beginning-of-line (C-a)
              Move to the start of the current line.
       end-of-line (C-e)
              Move to the end of the line.
       forward-char (C-f)
              Move forward a character.
 .....

Voici un résumé des commandes les plus importantes :

 Touches   Description 
 Ctrl + C   arrêter le programme en cours d'exécution 
 Ctrl + D   fermer le terminal 
 Ctrl + Q   pause 
 Ctrl + S   arrêter la pause 
 Ctrl + A   revenir au début de la ligne 
 Ctrl + E   aller à la fin de la ligne 
    commande précédente 
    commande suivante 
 Ctrl + L   effacer l'écran 
 Ctrl + K   effacer jusqu'à la fin de la ligne 
 Ctrl + U   effacer jusqu'au début de la ligne 
 Alt + D   effacer le mot sous le curseur 
 Ctrl + W   effacer le mot précédent 
 TAB   completion sur les noms de fichiers ou les commandes 
Raccourcis clavier dans le terminal

1.3. Historique des commandes

La commande history permet d'obtenir l'historique des commandes.

# les 20 dernières commandes
history 20
 1997  ls /sys/bus/event_source/devices/cpu/events/stalled-cycles-frontend 
 1998  cat /sys/bus/event_source/devices/cpu/events/stalled-cycles-frontend 
 1999  sudo perf stat bin/fib.exe -m 30 -n 43
 2000  sudo perf stat bin/fib.exe -m 27 -n 43
 2001  cd public_html
 2002  gedit ensl1i.php&
 2003  mv ensl1i_bi2_s1.php ensl1i_bi2_cm1.php
 2004  echo $SHELL
 2005  man 3 readline
 2006  history 10

Chaque commande est identifiée par un numéro, on peut réexécuter une commande grâce au symbole ! :

# réexécuter la commande 2004
!2004
echo $SHELL
/bin/bash

# réexécuter la dernière commande qui commence par 'cat' 
!cat
cat /sys/bus/event_source/devices/cpu/events/stalled-cycles-frontend 
event=0x87,umask=0x02

1.4. Recherche dans man

Lorsque l'on lance une recherche dans le manuel (commande man), on peut rechercher un mot clé grâce à / suivi d'une chaîne de caractères, puis appui sur la touche Entrée.