Inleiding: Waarom het wissen van je Terminal-geschiedenis belangrijk is op macOS
Als je veel tijd doorbrengt in de macOS Terminal, groeit je commandogeschiedenis ongemerkt op de achtergrond. Hierin worden alle commando's opgeslagen die je hebt getypt, inclusief gevoelige commando's. Databasewachtwoorden, API-sleutels die als argument zijn doorgegeven, SSH-verbindingsreeksen, sudo-commando's – alles staat daar in platte tekst, klaar om te worden bekeken door iedereen die toegang heeft tot je computer of je shellgeschiedenisbestand.
Of je nu een ontwikkelaar, systeembeheerder of gewoon een gevorderde gebruiker bent die waarde hecht aan privacy, weten hoe je je Terminal-geschiedenis op macOS wist, is een essentiële vaardigheid. Het is ook een bron van verwarring voor veel gebruikers die overstappen van Linux, waar het standaardcommando is geschiedenis -c. Op macOS werken dingen een beetje anders, afhankelijk van welke shell je gebruikt, en dat verschil zorgt voortdurend voor verwarring.
Deze handleiding behandelt alles wat je moet weten: hoe de Terminal-geschiedenis werkt op macOS, de juiste commando's om deze te wissen, de verschillen tussen Bash en Zsh (de standaard shell sinds macOS Catalina) en enkele best practices om je geschiedenis in de toekomst schoon te houden.
Hoe werkt de Terminalgeschiedenis in macOS?
Voordat we ingaan op hoe je je geschiedenis kunt wissen, is het handig om te begrijpen waar die geschiedenis zich precies bevindt. De Terminal-geschiedenis op macOS wordt beheerd door je shell, niet door de Terminal-app zelf. De twee shells die je het meest zult tegenkomen zijn:
- Zsh (Z Shell) — de standaardinstelling sinds macOS Catalina (10.15). De geschiedenis wordt opgeslagen in
~/.zsh_history - Knal — de vorige standaardinstelling, nog steeds beschikbaar. De geschiedenis wordt opgeslagen in
~/.bash_history
Telkens wanneer je een Terminal-sessie opent, laadt je shell de geschiedenis uit dat bestand. Telkens wanneer je een sessie sluit (of wanneer aan bepaalde voorwaarden wordt voldaan), schrijft de shell nieuwe commando's terug naar dat bestand. Dit betekent dat het wissen van de geschiedenis een tweestapsprobleem is: je moet de geschiedenis wissen uit de actieve sessie in het geheugen. en uit het permanente geschiedenisbestand op de schijf.
Het verschil tussen Linux en macOS: history -c versus history -p
Als je bekend bent met Ubuntu of Linux, is je eerste instinct waarschijnlijk om het volgende uit te voeren: geschiedenis -c Om je commandogeschiedenis te wissen. Dat werkt perfect in Bash op Linux. Maar op macOS – vooral in Zsh – werkt het anders.

In de standaard Zsh-shell van macOS, geschiedenis -c is niet op dezelfde manier een geldige optie. In plaats daarvan is het Zsh-equivalent voor het wissen van de in-memory geschiedenis: geschiedenis -p. Zoals je in de bovenstaande schermafbeelding kunt zien, is dit het commando dat je zou gebruiken wanneer je in een Zsh-sessie op macOS werkt.
Ter verduidelijking volgt hier een korte vergelijking:
- Linux / Bash:
geschiedenis -c— wist de in het geheugen opgeslagen geschiedenislijst - macOS / Zsh:
geschiedenis -p— wist de interne geschiedenislijst voor de huidige sessie - macOS / Bash:
geschiedenis -c— werkt ook als je Bash op macOS gebruikt.
Dit onderscheid is belangrijk omdat veel handleidingen die voor Linux zijn geschreven, niet direct toepasbaar zijn op de standaard Zsh-omgeving van macOS, en het uitvoeren van een verkeerd commando leidt ofwel tot een foutmelding, ofwel doet het stilletjes niets nuttigs.
Hoe wis je de Terminal-geschiedenis op macOS: stap voor stap?
Stap 1: Controleer welke shell je gebruikt
Controleer voordat je commando's uitvoert welke shell actief is in je terminalsessie. Voer dit commando uit:
echo $SHELL
Als je ziet /bin/zsh, Als je ziet... dan ben je in Zsh. /bin/bash, Je bevindt je in Bash. Dit bepaalt precies welke commando's en bestandspaden op jou van toepassing zijn.
Stap 2: Wis de sessiegeschiedenis (Zsh)
Als je Zsh gebruikt (de standaard in macOS), voer dan het volgende commando uit om de in het geheugen opgeslagen geschiedenis van de huidige sessie te wissen:
geschiedenis -p
Hierdoor wordt de geschiedenis uit de actieve sessie verwijderd, zodat deze niet langer kan worden opgeroepen met de pijltjestoets omhoog of de geschiedenis commando. Het doet echter wel niet Het geschiedenisbestand op de schijf wordt automatisch gewist.
Stap 3: Wis de sessiegeschiedenis (Bash op macOS)
Als je Bash op macOS gebruikt, gebruik dan de bekende Linux-achtige opdracht:
geschiedenis -c
Ook hiermee wordt de in het geheugen opgeslagen geschiedenis alleen voor de huidige sessie gewist.
Stap 4: Verwijder het geschiedenisbestand van de schijf.
Om ervoor te zorgen dat je geschiedenis permanent wordt verwijderd – inclusief vermeldingen van eerdere sessies – moet je het geschiedenisbestand zelf wissen. Kies het juiste commando voor je shell:
Voor Zsh:
rm -f ~/.zsh_history
Voor Bash:
rm -f ~/.bash_history
Door het bestand te verwijderen, zorgt u ervoor dat eerdere opdrachten niet opnieuw worden geladen wanneer u de volgende keer een Terminal-sessie start. Als u het bestand liever inkort in plaats van volledig te verwijderen, kunt u ook het volgende gebruiken:
> ~/.zsh_history
Hierdoor wordt het bestand overschreven met niets, waardoor een leeg bestand achterblijft in plaats van dat het wordt verwijderd.
Stap 5: Voorkom dat de huidige sessie geschiedenis schrijft
Nadat u de in het geheugen opgeslagen geschiedenis hebt gewist, wilt u wellicht voorkomen dat nieuwe opdrachten in de huidige sessie naar de schijf worden geschreven wanneer de sessie wordt afgesloten. In Zsh kunt u dit doen door de relevante omgevingsvariabelen uit te schakelen:
ongedaan maken HISTFILE
Dit zorgt ervoor dat Zsh de sessiegeschiedenis niet in een bestand opslaat wanneer het terminalvenster wordt gesloten. Zodra je een nieuwe sessie opent, wordt de normale opslag van de geschiedenis hervat.
De terminalgeschiedenis wissen via het Terminal-menu van macOS
Als je het niet prettig vindt om deze taak volledig via de commandoregel uit te voeren, biedt de Terminal-app van macOS ook een grafische optie. Zo gebruik je die:
- Open Terminal
- Klik in de menubalk op Schelp
- Selecteer Importeren… Of zoek naar opties met betrekking tot de geschiedenis, afhankelijk van uw macOS-versie.
Het is echter belangrijk om te weten dat het menu van de Terminal-app in de meeste macOS-versies geen aparte optie "Geschiedenis wissen" biedt. De meest betrouwbare methode blijft het gebruik van de hierboven beschreven shell-opdrachten. Het Terminal-menu Bewerken → Scrollback wissen Deze optie wist alleen de zichtbare buffer op het scherm — dat doet hij wel. niet Wis je opdrachtgeschiedenis.
Het fc-commando gebruiken als alternatief
Zsh erft een krachtige ingebouwde functie genaamd fc (Opdracht 'Repareren') waarmee u extra controle over uw geschiedenis krijgt. Hoewel deze opdracht voornamelijk wordt gebruikt om eerdere opdrachten te bewerken en opnieuw uit te voeren, kunt u deze combineren met andere technieken voor geschiedenisbeheer.
Om uw huidige geschiedenis in een genummerde vorm weer te geven, kunt u het volgende uitvoeren:
fc -l
En om een specifiek geschiedenisitem op nummer te verwijderen (handig als u slechts één gevoelige opdracht wilt verwijderen in plaats van alles te wissen):
fc -d [nummer]
Dit is met name handig wanneer je per ongeluk een wachtwoord in platte tekst als commando hebt ingevoerd en je alleen die specifieke invoer wilt verwijderen in plaats van je hele geschiedenis te wissen.
Automatisering van het wissen van de geschiedenis: configuratieopties voor de shell
Schakel de geschiedenis volledig uit in Zsh.
Als je liever helemaal geen geschiedenis wilt bijhouden, kun je je shell zo configureren dat deze nooit wordt opgeslagen. Open je Zsh-configuratiebestand:
nano ~/.zshrc
Voeg vervolgens de volgende regels toe:
ongedaan maken HISTFILESAVEHIST=0HISTSIZE=0
Sla het bestand op en herstart je Terminal. Vanaf nu wordt er geen geschiedenis meer naar de schijf geschreven. Houd er rekening mee dat dit een alles-of-niets-aanpak is: je verliest de mogelijkheid om eerdere commando's op te roepen.
Stel een kleinere geschiedenisgrootte in.
Een evenwichtigere aanpak is om het aantal opgeslagen commando's te beperken. In uw ~/.zshrc, set:
HISTSIZE=50SAVEHIST=50
Hierdoor wordt een venster met alleen de laatste 50 commando's weergegeven, wat de blootstelling vermindert zonder het gemak van het oproepen van de geschiedenis volledig op te offeren.
Gevoelige opdrachten uitsluiten van de geschiedenis
Zsh biedt een functie waarmee je kunt voorkomen dat specifieke patronen worden opgeslagen. Voeg dit toe aan je ~/.zshrc:
setopt HIST_IGNORE_SPACE
Met deze optie ingeschakeld, zal elke opdracht die u typt met een spatie ervoor niet opgeslagen worden in de geschiedenis. Dit is een goede gewoonte om aan te leren: plaats altijd een spatie vóór een commando met een gevoelig argument (zoals een wachtwoord of token).
Privacybewuste macOS-gebruikers vinden het wellicht ook interessant om hierover te lezen. Kan Apple Intelligence volledig lokaal op het apparaat draaien in macOS Tahoe? — want het beschermen van gevoelige gegevens tegen externe servers is net zo belangrijk voor AI-functies als voor je Terminal-geschiedenis.
Controleren of uw geschiedenis is gewist
Nadat u de door u gekozen opschoonopdrachten hebt uitgevoerd, is het raadzaam het resultaat te controleren. Voer hiervoor de volgende opdracht uit:
geschiedenis
Als de geschiedenis succesvol is gewist uit de huidige sessie, zou deze opdracht niets moeten retourneren (of een zeer korte lijst als er na het wissen nieuwe opdrachten zijn uitgevoerd). Om te controleren of het geschiedenisbestand op de schijf leeg of verdwenen is:
cat ~/.zsh_history
Als het bestand niet meer bestaat of leeg is, bent u klaar. Als het nog steeds gegevens bevat, kan het zijn dat de sessie de geschiedenis al naar de schijf heeft geschreven voordat u het bestand verwijderde, of dat een nieuwe sessie al is begonnen met het opnieuw opbouwen ervan. Herhaal in dat geval de verwijderingsstap.
Privacy- en beveiligingsaspecten
Inzicht in de redenen waarom u uw Terminal-geschiedenis mogelijk moet wissen, hangt nauw samen met goede beveiligingspraktijken. Hier zijn enkele veelvoorkomende situaties waarin dit van belang is:
- Gedeelde computers: Als meerdere personen hetzelfde macOS-account gebruiken (bijvoorbeeld in een kantoor- of laboratoriumomgeving), zijn uw opdrachten zichtbaar voor iedereen die Terminal opent.
- Gevoelige inloggegevens: Ontwikkelaars plakken soms per ongeluk API-sleutels, wachtwoorden of tokens rechtstreeks in de terminal. Door de geschiedenis te wissen, wordt dit risico weggenomen.
- Overdracht vóór verkoop of retournering van een apparaat: Voordat je een Mac wist of overdraagt, is het wissen van de shellgeschiedenis onderdeel van een grondige opruimactie, samen met het verwijderen van persoonlijke bestanden.
- Scherm delen of opnames maken: Als je een tutorial opneemt of je scherm deelt, is een snelle
geschiedenis -pVoordat je begint, worden je eerdere commando's niet opgenomen.
Voor gebruikers die hun commandoregelactiviteiten serieus nemen en privé willen houden – vooral bij verbindingen via VPN's of bij het werken met gevoelige serverinfrastructuur – biedt de combinatie van geschiedenisbeheer met een degelijke VPN-oplossing een extra beschermingslaag. Als u op zoek bent naar privacytools voor verschillende platforms, dan is de Proton Suite op Linux biedt een uitgebreid overzicht van privacygerichte tools die deze denkwijze aanvullen.
Snel naslagwerk: MacOS Terminal-opdrachten voor het wissen van de geschiedenis
Hier is een beknopt overzicht dat u kunt opslaan als bladwijzer voor snelle toegang:
- Wis de sessiegeschiedenis (standaard in Zsh / macOS):
geschiedenis -p - Wis de sessiegeschiedenis (Bash op macOS):
geschiedenis -c - Verwijder het Zsh-geschiedenisbestand:
rm -f ~/.zsh_history - Bash-geschiedenisbestand verwijderen:
rm -f ~/.bash_history - Voorkom dat de huidige sessie de geschiedenis opslaat:
ongedaan maken HISTFILE - Het Zsh-geschiedenisbestand leegmaken zonder het te verwijderen:
> ~/.zsh_history - Een enkel geschiedenisitem verwijderen op nummer (Zsh):
fc -d [nummer] - Controleer welke shell je gebruikt:
echo $SHELL
Conclusie
Je Terminal-geschiedenis wissen op macOS is eenvoudig als je het belangrijkste verschil met Linux begrijpt: op macOS met Zsh gebruik je... geschiedenis -p in plaats van geschiedenis -c. Dat kleine maar belangrijke onderscheid zorgt voor veel verwarring bij ontwikkelaars en systeembeheerders die migreren vanuit Linux-omgevingen of die Linux-gerichte tutorials volgen.
Naast het uitvoeren van één commando, betekent het volledig wissen van je geschiedenis dat je zowel de sessielijst in het geheugen als het permanente geschiedenisbestand op de schijf moet aanpakken. Een volledige opschoning omvat het uitvoeren van de volgende opdracht: geschiedenis -p, verwijderen of inkorten ~/.zsh_history, en eventueel de instelling ongedaan maken GESCHIEDENISBESTAND voor de rest van je sessie. Voor blijvende privacy is het raadzaam om je shell zo in te stellen dat commando's met een spatie ervoor worden genegeerd of om de grootte van je geschiedenis te beperken.
Of je nu een ontwikkelomgeving beveiligt, je computer opruimt voor een schermdeling of gewoon goede beveiligingspraktijken toepast, het beheren van je Terminal-geschiedenis is een kleine moeite met aanzienlijke voordelen voor je privacy. Nu je precies weet hoe het werkt op macOS, is dat één ding minder waar je voor verrast zult worden.
