Raccourcis shell bash

De Justine's wiki
Aller à la navigation Aller à la recherche

Cette page contient des raccourcis et des astuces pour le Shell Linux.  

Reprendre la dernière commande en y ajoutant sudo

sudo !!

Copier/coller du texte

Couper du curseur jusqu'à la fin de la ligne: Ctrl + k

Couper du début jusqu'au curseur : Ctrl + u

Recoller ce texte coupé : Ctrl + y

Couper le mot à gauche du curseur : Ctrl + w

Le mode follow de less

On peut remplacer tail par less pour avoir le même principe (l'affichage du fichier en temps réel), mais avec la possibilité de pouvoir remonter dans le fichier, faire des recherches à l'intérieur... Grâce au mode follow de less, accessible via shift + f. L'inconvénient est qu'il n'affiche pas les numéros de lignes.

Éditer la commande actuelle dans un éditeur de texte

Si je commence à taper une commande assez longue et que je veux l'éditer dans mon éditeur par défaut, il me suffit d'utiliser :

Ctrl + x + e

C'est assez utile pour faire du bash, par exemple. Une fois que la commande est éditée, il n'y a plus qu'à faire enregistrer - quitter pour que la commande s'exécute dans le shell.

Coller l'argument de la commande précédente

Je peux coller simplement l'argument de la commande précédente à l'aide du raccourci :

Alt + .

(Qui sur un clavier azerty se fait du coup avec Alt + Maj + La touche ;)

C'est assez utile à la fin d'une commande.

Resetter le terminal?

On peut taper la commande "reset" pour ramener le terminal à zéro si il rencontre un problème.

Effectuer une recherche dans les commandes déjà passées

Ctrl + r permet de faire des recherches dans les commandes déjà passées pour les réutiliser.

Se déplacer au début / à la fin de la commande

Pour aller au début de la commande : Ctrl + a

Pour aller à la fin : Ctrl + e

Coller les arguments de la dernière commande utilisée

Alt + .

Sur un clavier azerty, il faut du coup faire Alt+shift+. (sinon ça fait Alt+;). On récupère les arguments de la dernière commande: si je fait

echo oui

puis le raccourci, j'obtient

oui

Refaire la dernière commande en la modifiant

Sur bash, le fait de taper !! va reprendre la dernière commande envoyée, telle quelle.

Cela peut permettre par exemple de rajouter un sudo oublié : <source> ~ > systemctl restart apache2 ~ > sudo !! sudo systemctl restart apache2 </Source>

On peut également utiliser cela en faisant une substitution. <source> ~> systemctl restart apache2 ~> !!:s/apache2/sshd systemctl restart sshd </source> Ici, la syntaxe s/truc/bidule rappelle bien évidemment sed.