Maîtrisez l’historique de commandes de votre shell
Un petit article pour voir ou revoir les commandes qui permettent de manipuler l’historique de commande de votre shell. En effet, si vous êtes nombreux à savoir que l’on peut utiliser les flèches directionnelles pour revenir dans vos commandes et éventuellement les modifier, vous savez sans doute moins qu’il existe une série de raccourcis qui vous permettent de faire cela plus facilement et plus rapidement.
Parcourir l’historique
Avec Ctrl + r il est possible de rechercher un mot dans l’historique, qu’il soit en début de commande ou non. Pour parcourir les résultats appuyez à nouveau sur Ctrl + r, pour exécuter la commande tapez RET et pour la modifier utilisez les flèches directionnelles.
arch ➜ find . -name '*.c' -printf "cat %p | wc -l \\n" 2>/dev/null | sh 2>/dev/null| awk '{res += $1} END {print res}' bck-i-search: awk_
Répéter la dernière commande
Je sais pas vous, mais j’ai tendance à me croire tout puissant et exécuter des commandes qui demandent des droits root en tant qu’utilisateur. Alors je pourrais toujours remonter une fois, me remettre en début de ligne et ajouter sudo. Mais je suis paresseux et tout ça c’est trop long et pas pratique. Intervient le bang bang comme on l’appelle en anglais (et puis ça sonne bien: “quoi je peux pas mettre à jour mon système ?! Tiens, sudo bang bang tu m’obéis!”). C’est une variable qui représente la dernière commande exécutée.
arch ➜ pacman -Syu error: you cannot perform this operation unless you are root. arch ➜ sudo !!
Répéter un commande précise
Du même esprit que la commande précédente, elle permet de trouver la dernière commande précise que vous voulez.
arch ➜ !ps arch ➜ ps auxh | grep chromium
Répéter le dernier argument
Plutôt explicite, utile pour effectuer plusieurs manipulations sur un même fichier rapidement.
arch ➜ mkdir -p tmp arch ➜ cd !$
Répéter une commande par son numéro
Mois pratique, elle nécessite de connaître l’emplacement de cette commande dans l’historique.
arch ➜ !102 arch ➜ nano /etc/X11/xorg.conf.d/10-evdev.conf arch ➜ !-3 # remonte trois commandes arch ➜ cat /etc/resolv.conf
Enfin, au cas où vous ne le saviez pas, la commande history permet d’afficher toutes les commandes figurant dans votre historique.