Menu

11 januari 2012

OS X Terminal: het history commando gebruiken

Wanneer je niet regelmatig gebruik maakt van OS X Terminal dan kan het herinneren van commando’s erg lastig zijn. Ieder commando dat wordt uitgevoerd onder OS X Terminal wordt opgeslagen in een historie. Deze historie kun je opvragen met behulp van het commando history.

Het commando geeft je een compleet overzicht van alle uitgevoerde commando’s inclusief een regelnummer waarvan we heel handig gebruik kunnen maken. Open een OS X Terminal venster en type het onderstaande commando om de historie te bekijken:

history

Wanneer je alleen de laatste tien commando’s wilt bekijken dan kun je gebruik gebruik maken van:

history 10

Door het history commando te combineren met het grep commando is het mogelijk om de resultaten te filteren.

history | grep "zoek string"

Vervang zoek string door het commando waar je gericht naar wilt zoeken in de historie. Heb je bijvoorbeeld recentelijk een wijziging aangebracht in een property list dan typ je het commando:

$ history | grep "default write"
152  defaults write com.apple.dock tilesize -integer 24
230  defaults write com.apple.dock workspaces-swoosh-animation-off -bool YES 

252  defaults write com.apple.Safari AlwaysShowTabBar -boolean true

In het voorbeeld komt “default write” driemaal voor in de historie op regel 152, 230, 252. Als je een van deze commando’s wilt herhalen dan kun je in OS X Terminal een uitroepteken typen gevolgd door het regelnummer.

!252

Het commando uit de history wordt direct uitgevoerd op het moment dat je op enter drukt. Wanneer je het laatst uitgevoerde commando opnieuw wilt uitvoeren dan kun je gebruik maken van twee uitroeptekens.

!!

Mocht je de history willen wissen dan kun je dit doen door de parameter -c toe te voegen aan het history commando:

history -c

• Geupdate artikel




Gerelateerde tips:




Reacties


  • Louis 11 januari 2012 om 9:06

    En na ^R kun je zoeken in de history. Soms handiger dan grep. Als je bijvoorbeeld bovenstaande regel met de tilesize zoekt, is ^Rtilesize mogelijk al genoeg.

  • Niels 11 januari 2012 om 11:47

    !! gebruik ik vaak als ik sudo vergeten ben.
    Een simpele sudo !! herhaalt het vorige commando met uitgebreide rechten.

  • Yasser 11 januari 2012 om 12:13

    fgrep is in dit geval efficiënter dan grep. Mensen die het verschil weten zullen wel grep gebruiken als ze dit nodig vinden.
    Als je een grote history hebt kan het toch een stuk sneller zijn

  • Dennis 3 augustus 2012 om 16:04

    Kan iemand mij vertellen of ik de commando’s kan verwijderen die Terminal onthoud? Als ik bijvb klik op: Shell –> nieuw commando, dan staat daar mijn laatst gebruikte commando. Ik kan vervolgens nog op het pijltje klikken en daar staat de rest van mijn gebruikte commando’s.

    Kunnen deze ook verwijderd worden..?

  • pieter 9 januari 2016 om 15:29

    ik heb per ongeluk verkeerde commando’s ingevoerd waardoor e.e.a. nu fout gaat. Kan iemand me aangeven hoe ik die commando’s ongedaan kan maken?

  • Wesley Fabry 9 januari 2016 om 19:04

    Pieter, hangt er vanaf wel commando..

Een reactie toevoegen: