Utiliser l’historique Bash
Apperçu rapide
Bash propose des raccourcis bien utiles pour relancer des commandes, ou des bouts de commandes, précédemment exécutées. Cette page va recenser ceux que j’ai trouvés les plus utiles jusqu’à présent.
Voici quelques exemples d’usage:
# Relance la dernière commande en la faisant précéder par sudo sudo !! # Opération inverse: relancer la dernière commande sudo sans sudo !* # Pour modifier le dernier fichier visualisé avec less !less:s/less/vi/
Tableau récapitulatif
Et voici un tableau à garder sous la main en cas de besoin
!! | dernière commande |
!rm | dernière commande qui commence par rm
|
!?force? | dernière commande qui contient force
|
!$ | dernier argument de la dernière commande executée |
!^ | premier argument de la dernière commande executée |
!* | tous les arguments de la dernière commande executée (synonymes: !!:1* !!:1-$ !!:* ) |
!scp$ | dernier argument de la dernière commande qui commence par scp
|
!scp^ | premier argument de la dernière commence qui commence par scp
|
:p | affichage au lieu d’exécuter |
:h | dirname (head) |
:t | filename (tail) |
:r | enlève l’extension (peut être utilisé deux fois pour des fichiers tar.gz ) |
:e | retourne l’extension seulement |
^search^replace | remplace search par replace dans la dernière commande |
!rm:s/search/replace/ | remplace search par replace dans la dernière commande commençant par rm
|
!rm:sg/search/replace/ | remplace partout … |
sudo !! | relance la commande précédente avec sudo
|
chmod +x !$ | un exemple parmi mille de l’utilisation du racourci !$
|
!scp^:h | le chemin du fichier copié par scp (si le fichier était le premier argument à scp ie il n’y avait pas d’options) |
!grunt:2-$:p | affichage tous les arguments sauf le premier de la dernière commande commençant par grunt
|