(Filip Vervloesem) Bash bevat heel wat handige trucjes om efficiënter te werken. De ingebouwde command history is één van de beste tools om je productiviteit op te krikken. We geven hier enkele tips om te starten.

  1. Scrollen

Vaak wil je een commando met slechts minimale wijzigingen opnieuw uitvoeren. Gelukkig hoef je daarvoor niet meermaals het hele commando in te voeren. Met de pijltjestoetsen omhoog/omlaag scroll je door recent uitgevoerde commando’s. Heb je het commando gevonden, gebruik dan de pijltjestoetsen naar links/rechts en backspace/delete om het commando naar wens aan te passen. Makkelijker kan haast niet!

  1. Zoeken

Soms zoek je een specifiek commando dat je even geleden hebt uitgevoerd. Het is nogal omslachtig om dan door de hele lijst van commando’s te scrollen. Gelukkig kan je die snel doorzoeken met Ctrl-r, gevolgd door de zoekterm. Druk meermaals Ctrl-r om oudere resultaten te tonen. Heb je het juiste commando gevonden? Druk dan enter om het uit te voeren of gebruik de pijltjestoetsen naar links/rechts om het commando eerst aan te passen. Tip: met Ctrl-r zoek je steeds verder terug in de tijd. Heb je te vaak Ctrl-r gebruikt en wil je weer recentere resultaten zien? Gebruik dan Ctrl-s om in de andere richting door de resultaten te bladeren. Dat werkt echter enkel correct als je volgende optie in ~/.bashrc plaatst (vergeet ook geen nieuwe terminal te openen om de wijziging door te voeren):

stty -ixon
  1. Geschiedenis opvragen

Tip 2 is prima om snel een specifiek commando te zoeken. Wil je een overzicht van alle commando’s die vroeger zijn uitgevoerd, gebruik dan het commando:

$ history

Standaard toont bash de laatste 1000 commando’s. Je kan dat gedrag aanpassen via de variabelen in ~/.bashrc die beginnen met HIST. Wil je de lijst beperken tot commando’s met eeen bepaalde zoekterm? Pipe de output van history dan naar grep, bijvoorbeeld:

$ history | grep service

 

  1. Commando’s uitvoeren

History voorziet elk commando van een volgnummer. Wil je een bepaald commando uitvoeren, gebruik dan een !, gevolgd door dat nummer. Bijvoorbeeld:

$ !171

 

Je mag ook terugtellen van achteraan in de lijst. Om het voorlaatste commando te herhalen:

$ !-2

 

Het laatste commando herhaal je met !!. Dat is vooral handig als je weer eens vergat om sudo te gebruiken bij een commando. Die fout zet je dan gewoon recht met:

$ sudo !!

 

  1. Zoeken

Je kan ook snel het laatste commando met een bepaalde zoekterm uitvoeren via !<zoekterm>, bijvoorbeeld:

$ !service

 

Bovenstaand voorbeeld werkt enkel als het commando begint met de zoekterm ‘service’. Staat die term elders in het commando (bijvoorbeeld aan het einde), dan voeg je vraagtekens toe rond de zoekterm:

!?service?

 

Maar let op: in tegenstelling tot het zoeken met Ctrl-r, voert bash nu meteen de gevraagde opdracht uit! Gebruik deze shortcuts dus enkel als je absoluut zeker bent dat je er geen verkeerde, mogelijk schadelijke commando’s mee uitvoert!

 

  1. Vervangen

De syntax uit tips 4 en 5 kan je nog verder uitbreiden om delen van het commando te wijzigen. Je vindt een beknopte uitleg van de verschillende mogelijkheden in de man page van bash, onder HISTORY EXPANSION. Als uitsmijter geven we nog 2 voorbeelden. Om het laatste commando uit te voeren en daarin één woord te vervangen door een ander:

$ ^search^replace^

 

En met de sneltoets Esc-_ (Escape gevolgd door underscore) haal je snel het laatste argument van het vorige commando weer op.