Linux rm-commando: de opties van rm -rf en verwijderen zonder bevestiging

Affiliatemelding v3.1
Affiliatemelding v3.2 (mobiel)
TestomgevingRHEL-familieAlmaLinux 9.8root-accountGecontroleerd op 05-10-2026

Met het rm-commando verwijderde bestanden zijn meteen weg, zonder omweg via een prullenbak. rm is de afkorting van remove en verwijdert bestanden en mappen. Dit artikel behandelt het basisgebruik, de opties en waarom de rootmap blijft staan, zelfs als je [rm -rf /] uitvoert.

Op AlmaLinux 9.8 heeft het root-account standaard [alias rm='rm -i'], dus vóór het verwijderen wordt om bevestiging gevraagd. Voor Linux-systemen zonder deze instelling laat het artikel ook zien hoe je de alias zelf toevoegt.

✅ Basisgebruik

De basissyntaxis is als volgt.

rm -opties doel: Bestand of map
Met het rm-commando

Een bestand wordt verwijderd met alleen de naam; een map pas als je de optie -r toevoegt.

# bestand verwijderen
rm file1
# meerdere bestanden verwijderen
rm file1 file2
# map met alle inhoud verwijderen
rm -r dir1/
# lege map verwijderen
rm -d dir1/
~]# rm dir1/
rm: cannot remove 'dir1/': Is a directory

Noem je een map zonder optie, dan wordt hij niet verwijderd, zoals hierboven.

Een symbolische link verwijderen haalt alleen de link weg; het bestand waarnaar hij wijst, blijft staan. Voor een controle voor en na het verwijderen gebruik je ook het ls-commando.

✅ rm -rf: verwijderen zonder bevestiging

Het rm-commando vraagt [remove regular file] omdat rm op het root-account via de alias [rm -i] draait.

~]# rm file1
rm: remove regular file 'file1'? y
~]# alias rm
alias rm='rm -i'

Een map verwijderen met de optie -r vraagt om bevestiging bij het binnengaan van elke map en voor elk bestand, wat bij veel bestanden vervelend wordt.

~]# rm -r logs/
rm: descend into directory 'logs/'? y
rm: remove regular file 'logs/access.log'? y
rm: remove regular empty file 'logs/error.log'? y
rm: remove directory 'logs/'? y

Voeg in dat geval de optie -f toe: die verwijdert zonder bevestiging en meldt geen fout, zelfs als het bestand niet bestaat.

rm -rf logs/

Een backslash [\] voor het commando zetten om de alias te omzeilen, of [yes |] ervoor zetten zodat bij elke vraag y wordt ingevoerd, geeft hetzelfde resultaat.

\rm -r logs/
yes | rm -r logs/

✅ Opties van het rm-commando & simulator

OptieUitleg
-f--forceVerwijdert zonder bevestiging en meldt geen fout bij bestanden die niet bestaan
-iVraagt vóór elke verwijdering om bevestigingalias rm='rm -i'
-I(hoofdletter i)Vraagt maar één keer bij vier of meer bestanden of samen met -r
-r, -R--recursiveVerwijdert een map samen met submappen en bestanden
-d--dirVerwijdert een lege map
-v--verboseToont elk verwijderd bestand en elke map op een eigen regel
--preserve-rootVerwijdert de rootmap (/) niet (standaard)
--no-preserve-rootZet de bescherming van de rootmap (/) uit
Simulator van het rm-commandoalias rm='rm -i'
[root@server work]#
Hij draait alleen in je browser en raakt nooit echte bestanden. Typ rm met verschillende opties en bekijk het resultaat met ls en cat. Verwijderde bestanden komen terug als je op [Start over] drukt. Met de toetsen ↑↓ haal je eerdere commando's terug, en typ uknew help om de beschikbare commando's te zien.

✅ rm -rf /: de rootmap beschermen

Bij hostingwerk worden soms bestanden verwijderd die niet weg hadden gemogen. De meeste zijn uit een back-up terug te zetten, maar is de rootmap eenmaal verwijderd, dan is herstel zelfs met een snapshot een gedoe. Ik heb meerdere keren gehoord van gevallen waarin een verkeerd getypt rm -rf-commando niet meer ongedaan kon worden.

Het rm-commando past standaard de optie [--preserve-root] toe, dus de rootmap wordt niet verwijderd, zelfs als je [rm -rf /] uitvoert.

~]# rm -rf /
rm: it is dangerous to operate recursively on '/'
rm: use --no-preserve-root to override this failsafe

[rm -rf /*] houdt het echter niet tegen. De shell vervangt [/*] door mapnamen zoals /bin, /etc en /home voordat ze worden doorgegeven, dus het rm-commando verwijdert elk van die mappen in plaats van [/].

Een verse installatie van AlmaLinux 9.8 heeft de -i-aliassen voor rm, cp en mv in [/root/.bashrc], zoals hieronder. Gewone gebruikersaccounts hebben deze aliassen niet.

~]# grep alias /root/.bashrc
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

Op een account of Linux-systeem zonder de alias voeg je één regel toe onderaan [~/.bashrc] en laad je het opnieuw.

# onderaan ~/.bashrc toevoegen
alias rm='rm -i'
# opnieuw laden
source ~/.bashrc
linux Free Software

ℹ️ Affiliatemelding
De content van deze site bevat affiliatelinks. Koopt een bezoeker via een van deze links een product of dienst, dan ontvangt deze site een commissie van de verkoper. Het bedrag dat de koper betaalt (bij acties gaat het omlaag ↓) wordt daardoor niet hoger. De vermelde prijzen, kortingen en voorraad gelden op het moment van schrijven en kunnen afwijken; controleer ze daarom vóór je aankoop bij de verkoper. Producten worden gekozen en beoordeeld volgens onze eigen criteria, en commissies hebben geen invloed op de volgorde of de inhoud van de beoordelingen.