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


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.
!! gebruik ik vaak als ik sudo vergeten ben.
Een simpele sudo !! herhaalt het vorige commando met uitgebreide rechten.
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
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..?