web analytics

Bash terminal: Toetscombinaties

Print Friendly, PDF & Email

Bash Toetscombinaties

Wanneer je in de bash-terminal bezig bent, dan is het leuk als je enkele toetscombinaties kent die je het leven in de terminal aangenamer maken.
De mogelijkheid om de commando regel te wijzigen via toetscombinaties wordt mogelijk gemaakt door de GNU Readline Library.
Deze bibliotheek wordt in veel andere *nix toepassingen gebruikt, naast bash. Het aanleren van enkele van die combinaties zal je niet alleen ten goede komen in bash, maar ook die talrijke andere *nix toepassingen die gebruik maken van Readline.
Standaard maakt Readline gebruik van ‘emacs key bindings’, al kan je de instellingen aanpassen dat de vi-editing-mode gebruikt wordt.

Edit toetsencombinaties

Ctrl + a spring naar het begin (aanvang) van de regel
Ctrl + e spring naar het einde van de regel
Ctrl + xx spring heen en weer tussen begin van de regel en de huidige positie van de cursor
Alt + b spring 1 woord naar links of naar het begin van het woord waar de cursor momenteel op staat
Alt + f spring 1 woord naar rechts of naar het einde van woord waar de cursor momenteel op staat
Ctrl + b spring 1 teken naar links
Ctrl + f spring 1 teken naar rechts
Ctrl + k wis alles vanaf de cursor tot het einde van de regel
Ctrl + u wis alles vanaf de cursor tot het begin van de regel
Ctrl + w wis vanaf de cursor tot begin van het woord (wis linker woord als je niet in een woord staat)
Alt + d wis tot het einde van het woord beginnende aan de huidige cursor positie (wis gans woord als cursor net voor het woord staat)
Ctrl + d wis teken onder de cursor
Ctrl + h wis teken voor de cursor
Ctrl + y plak het woord of de tekst die door één van de bovenste combinaties was gewist direct na de cursor
Alt + c verander de eerste letter aan de cursor een hoofdletter of het ganse woord als de cursor aan het begin van het woord staat (Capitalize)
Alt + u verander alles in hoofdletter vanaf de cursor tot einde woord (UPPERCASE)
Alt + l verander alles in kleine letter vanaf de cursor tot einde woord (lowercase)
Alt + t verwissel huidig woord met vorig woord
Ctrl + t verwissel teken onder de cursor met vorig teken

Werken met de ‘Opdrachten Geschiedenis’ of ‘History’

Ieder de opdracht die je intikt in de terminal wordt bewaard in een log dat terug te vinden is in je home-folder. Het is een verborgen bestand .bash_history.
Met onderstaande combinaties kun je navigeren in deze geschiedenis.

Ctrl + r doorzoek de geschiedenis achteruit
Ctrl + g spring uit de zoekmode van de geschiedenis
Ctrl + p vorige opdracht in de geschiedenis (wandel terug door de geschiedenis)
Ctrl + n volgende opdracht in de geschiedenis (wandel vooruit door de geschiedenis)
Alt + . gebruik het laatste woord van de vorige opdracht

Combinaties voor lopende opdrachten

Ctrl + l wis scherm (= clr opdracht)
Ctrl + s stopt de uitdraai naar het scherm (voor lange verbose opdrachten)
Ctrl + q laat uitdraai terug toe op het scherm (indien voordien gestopt met bovenstaande opdracht)
Ctrl + c beëindig de opdracht
Ctrl + z pauzeer/stopt de opdracht

De Bang (!) Opdrachten

Het uitroeptteken wordt hier niet als ‘exclamation point’ vertaald, maar wel als bang.
Bang-combinaties zijn opdrachten die beginnen met ! en waarbij het uitroepteken een speciale functie heeft.

!! draai opnieuw de laatste opdracht
!blah draai de meest recente opdracht die begint met ‘blah’ (bv: !sudo)
!blah:p vertoon de laatste opdracht die !blah zou opstarten (deze opdracht wordt ook toegevoegd aan de opdrachten geschiedenis)
!$ het laatste woord van de vorige opdracht (zelfde als Alt + .)
!$:p vertoon het woord dat !$ hierboven zou gebruiken
!* de vorige opdracht zonder het laatste woord (bv: als je tikt ‘find some_file.txt /‘ dan zou !* dat geven:‘find some_file.txt‘)
!*:p vertoon wat !* zou gebruiken

De ^^ opdracht

Als je een opdracht ingeeft en uitvoert, dan kan je dezelfde opdracht opnieuw uitvoeren, maar een gedeelte van de opdracht tekst vervangen middels de ^^:

Een willekeurige opdracht
$ ls -al
total 12
drwxrwxrwx+ 3 Administrator None 0 Jul 21 23:38 .
drwxrwxrwx+ 3 Administrator None 0 Jul 21 23:34 ..
-rwxr-xr-x 1 Administrator None 1150 Jul 21 23:34 .bash_profile
-rwxr-xr-x 1 Administrator None 3116 Jul 21 23:34 .bashrc
drwxr-xr-x+ 4 Administrator None 0 Jul 21 23:39 .gem
-rwxr-xr-x 1 Administrator None 1461 Jul 21 23:34 .inputrc

Vervang nu de opties -al door -lash en voer opnieuw de opdracht uit
$ ^-al^-lash
ls -lash
total 12K
0 drwxrwxrwx+ 3 Administrator None 0 Jul 21 23:38 .
0 drwxrwxrwx+ 3 Administrator None 0 Jul 21 23:34 ..
4.0K -rwxr-xr-x 1 Administrator None 1.2K Jul 21 23:34 .bash_profile
4.0K -rwxr-xr-x 1 Administrator None 3.1K Jul 21 23:34 .bashrc
0 drwxr-xr-x+ 4 Administrator None 0 Jul 21 23:39 .gem
4.0K -rwxr-xr-x 1 Administrator None 1.5K Jul 21 23:34 .inputrc

Er zijn natuurlijk nog veel meer zaken die je kunt doen met toetsencombinaties in bash, maar deze hierboven zullen je toch al goed vooruit helpen.

Beoordeling

Geef een reactie

%d bloggers liken dit: