HISTORY

De BASH Geschiedenis

De meeste Linux gebruikers weten dat je met de pijltjestoetsen (omhoog en omlaag) kunt bladeren tussen voorgaande commando's. Deze commando's worden bijgehouden in de zogenaamde history van BASH, maar de History of Geschiedenis kan veel meer dan dat.

Commando's terugroepen met een tekenreeks:

Er zijn verschillende manieren om een commando terug te roepen, we beginnen met het gebruiken van een tekenreeks.

Ongeacht de methode gebruiken we het uitroepteken1 om commando's terug te roepen.

Wil je het vorige commando terugroepen dan gebruik je het commando !!, dit lijkt meer werk dan gewoon op de pijltjestoets drukken, maar als je het commando als root moet uitvoeren en je bent sudo vergeten dan is sudo !! wel een handige optie.

Wil je het laatste mv commando uitvoeren gebruik je !mv

Wil je het commando eerst bekijken voor je het uitvoert dan voeg je :p (print) toe aan het commando: !mv:p

Heb je het mv commando vaker gebruikt maar wil je een specifiek commando terugroepen, en weet je een uniek deel van het commando dan kun je het tussen 2 vraagtekens plaatsen: !?Documents?

Commando's terugroepen met een getal:

History geeft ieder gebruikt commando een uniek getal en aan de hand van dit getal kun je een commando ook terugroepen.

Om een lijst te krijgen met commando's opgeslagen in de geschiedenis en hun nummer geeft je simpelweg het commando history maar waarschijnlijk wil je | less toevoegen als het commando niet recent is gebruikt.

Staat het commando dat je zoekt in de lijst dan geef je het getal gewoon in na de bang: !354 bijvoorbeeld.

Het is ook mogelijk om aan te geven dat je het 4de laatste commando opnieuw wil gebruiken, dan geef je het commando !-4 in (een andere waarde kan natuurlijk ook).

Argumenten herhalen:

Het is ook mogelijk om een parameter of parameters te herhalen (bijv. als je een typefout hebt ingegeven bij het commando). Hiervoor gebruiken we speciale modifiers zoals:
  • * : alle parameters
  • ^ : eerste parameter
  • $ : laatste parameter
Stel je wil een bestand openen in gedit maar je hebt een fout ingegeven in de naam van gedit: gedut /home/patrick/Documents/artikel.xml. In plaats van het volledige commando opnieuw in te geven corrigeer je enkel het commando gedit en als parameter geef je !* in. gedit !*

Heb je per ongeluk het volgende commando ingegeven mv orgineel.doc backup.doc maar je wilde het eigenlijk kopiëren dan kun je het hele commando opnieuw ingeven (tegenovergesteld) of gewoon het volgende commando gebruiken: cp !$ !^

Zoeken in de geschiedenis:

Als je in een terminal op CTRL+R typt krijg je een "reverse-search waarmee je kunt zoeken naar de laatste keer dat je een bepaald commando gebruikt hebt.

Figuur 1. $ CTRL + R : "reverse-search"

Terwijl je typt zal de shell het meest recente commando weergeven dat deze tekenreeks bevat.

Er is nog veel meer mogelijk met de BASH History. Hiervoor raad ik aan om de manpages of infopages te raadplegen.

1 dit wordt de bang operator of simpelweg bang genoemd.