<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Rm_%28Unix%29</id>
	<title>Rm (Unix) - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Rm_%28Unix%29"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Rm_(Unix)&amp;action=history"/>
	<updated>2026-05-30T15:43:13Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Rm_(Unix)&amp;diff=129533&amp;oldid=prev</id>
		<title>imported&gt;Y2kbug: /* rm -rf / */ POSIX ACLs ohne Bindestrich...</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Rm_(Unix)&amp;diff=129533&amp;oldid=prev"/>
		<updated>2026-03-27T19:52:52Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;rm -rf /: &lt;/span&gt; POSIX ACLs ohne Bindestrich...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{SEITENTITEL:rm (Unix)}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;rm&amp;#039;&amp;#039;&amp;#039; (Abkürzung für {{enS|remove|de=entfernen}}) ist in der [[Unix]]-Welt der übliche Befehl, [[Datei]]- und [[Verzeichnis]]&amp;lt;nowiki/&amp;gt;einträge zu entfernen/löschen. Der Befehl ist im [[Portable Operating System Interface|POSIX]]-Standard definiert. Es handelt sich dabei um ein eigenständiges [[Computerprogramm|Programm]], nicht um einen [[Unix-Shell]]-Befehl.&lt;br /&gt;
&lt;br /&gt;
Beim Einsatz von &amp;#039;&amp;#039;rm&amp;#039;&amp;#039; ist Vorsicht geboten, da standardmäßig keine Rückfrage zur Bestätigung des Befehls erfolgt; versehentlich können daher systemrelevante Dateien entfernt werden.&amp;lt;ref&amp;gt;{{cite web |url=http://www.softpanorama.org/Admin/Horror_stories/creative_uses_of_rm.shtml |title=Creative uses of rm like rm -rf / tmp/* or rm -r /etc (instead of rm -r etc) |author=Nikolai Bezroukov |work=Horror Stories |publisher=Softpanorama Society |date=2019-11-14 |access-date=2026-03-27 |language=en}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dateien bei Unix- und abgeleiteten Dateisystemen bestehen einerseits aus dem eigentlichen Datenbestand, dem &amp;#039;&amp;#039;Datenobjekt&amp;#039;&amp;#039; (der Dateiinhalt), dem ein [[Eindeutigkeit|eindeutiger]] Datenknoten, ein sogenannter &amp;#039;&amp;#039;[[Inode]]&amp;#039;&amp;#039;, zugeordnet ist, und andererseits aus mindestens einem [[Hardlink]] ({{enS|link}}, auch Verweis oder [[Verknüpfung (Computer)|Verknüpfung]]) auf jenen Inode, der als „voller“ Dateiname {{nowrap|(d.&amp;amp;thinsp;h. inkl. Pfad)}} repräsentiert wird. Ein Inode kann dabei mehrere Dateinamen –&amp;amp;nbsp;also Dateiobjektverweise bzw. {{enS|hard links}}&amp;amp;nbsp;– haben.&lt;br /&gt;
&lt;br /&gt;
Tatsächlich löscht der Befehl &amp;lt;code&amp;gt;rm ./pfad/dateiname&amp;lt;/code&amp;gt; nicht das Datenobjekt (die Dateiinhalte) selbst, sondern entfernt nur den Verweis, also den Hardlink, auf dessen Inode aus dem Verzeichnisbaum des Dateisystems.&lt;br /&gt;
&lt;br /&gt;
Wenn der letzte (Hard-)Link auf einen Inode entfernt wird (und kein Prozess mehr auf die Daten zugreift), gilt eine Datei als gelöscht. Tatsächlich werden nur die entsprechenden [[Datenblock|Datenblöcke]] zum Überschreiben freigegeben. Solange diese Datenblöcke nicht überschrieben wurden, kann eine gelöschte Datei daher wiederhergestellt werden.&lt;br /&gt;
&lt;br /&gt;
Das Programm &amp;#039;&amp;#039;rm&amp;#039;&amp;#039; kann problemlos auch bereits aufgerufen werden, wenn noch ein Prozess auf die Daten zugreift. Jener kann die Daten ohne Störung bis zu seinem Beenden weiterhin lesen; erst danach werden die Blöcke freigegeben.&lt;br /&gt;
&lt;br /&gt;
== rm und unlink ==&lt;br /&gt;
&lt;br /&gt;
Während der Befehl &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; durch [[Portable Operating System Interface|POSIX]] standardisiert ist, ist &amp;lt;code&amp;gt;unlink&amp;lt;/code&amp;gt; durch die zweite Version der [[Single UNIX Specification]] (SUSv2) festgelegt und hat einen geringeren Funktionsumfang. &lt;br /&gt;
&lt;br /&gt;
Die konkrete Funktionsweise, also ob etwa der [[Systemaufruf]] &amp;#039;&amp;#039;unlink&amp;#039;&amp;#039; verwendet wird, hängt von der eingesetzten [[Implementierung]] ab (bei der ursprünglichen Unix-Variante war dies bei &amp;lt;code&amp;gt;unlink&amp;lt;/code&amp;gt; der Fall). In der Regel werden heute beide Befehle, &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;unlink&amp;lt;/code&amp;gt;, vom Programm &amp;#039;&amp;#039;rm&amp;#039;&amp;#039; verarbeitet.&lt;br /&gt;
&lt;br /&gt;
== Sicheres Löschen ==&lt;br /&gt;
{{Hauptartikel|Datenvernichtung}}&lt;br /&gt;
&lt;br /&gt;
Das Betriebssystem gibt nach &amp;#039;&amp;#039;rm&amp;#039;&amp;#039; nur die Datenblöcke frei, die Daten bleiben aber unter Umständen noch einige Zeit physikalisch gespeichert. Sensible Daten (z. B. Passwörter oder Kreditkartennummern) sollten aber nicht mehr gelesen werden können. Zum sicheren Löschen muss man daher die Datei öffnen und alle Blöcke überschreiben. Auch manche Dateisysteme bieten die Option, frei gewordene Blöcke sofort zu überschreiben. Dies kostet jedoch Zeit und wird daher nur in Ausnahmefällen angewendet.&lt;br /&gt;
&lt;br /&gt;
Die weit verbreitete Meinung, dass sich die Daten nach einmaligem Überschreiben noch mit großem Aufwand, etwa durch Messungen mit Elektronenmikroskopen, wiederherstellen lassen ist jedoch falsch; ein einmaliges Überschreiben ist vollkommen ausreichend; wichtiger ist es, alle Kopien, auch etwa bei der Datensicherung automatisch erstellte, zu beseitigen.&amp;lt;ref&amp;gt;[https://www.heise.de/newsticker/meldung/Sicheres-Loeschen-Einmal-ueberschreiben-genuegt-198816.html &amp;#039;&amp;#039;Sicheres Löschen: Einmal überschreiben genügt&amp;#039;&amp;#039;.] [[heise online]], 16.&amp;amp;nbsp;Januar 2009&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siehe auch: [[shred]] oder [[Wipe]]&lt;br /&gt;
&lt;br /&gt;
== Dateiwiederherstellung ==&lt;br /&gt;
Unix unterstützt normalerweise nicht die Wiederherstellung von Dateien. Frei gewordene Datenblöcke werden unter Umständen sofort von neuen Daten anderer Prozesse belegt.&lt;br /&gt;
&lt;br /&gt;
Es existieren jedoch [[Dateisystem]]e, die eine Wiederherstellung unterstützen. Obwohl es bereits seit einigen Jahren entsprechende Entwicklungen gibt, hat sich das „undelete“ noch nicht durchgesetzt.&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
 rm [Optionen] Dateiname&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 rm test.txt&lt;br /&gt;
Dieses Beispiel löscht die Datei „test.txt“ aus dem Verzeichnis, in dem man sich aktuell befindet.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Optionen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Drei Optionen von &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; sind durch [[POSIX]] festgelegt:&amp;lt;ref name=&amp;quot;IEEE Std 1003.1-2008&amp;quot;&amp;gt;{{cite web |url = http://pubs.opengroup.org/onlinepubs/9699919799/utilities/rm.html&lt;br /&gt;
|title = rm |work = IEEE Std 1003.1-2008 |publisher = [[Open Group]] |accessdate = 2012-02-14 }}&amp;lt;/ref&amp;gt; &lt;br /&gt;
; &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt;&lt;br /&gt;
: Force (Erzwingen): Keine Rückfrage bei fehlendem Schreibrecht und keine Fehlermeldungen bei nicht existierenden Dateinamen, somit auch keine Änderung des Exit-Status.&amp;lt;ref name=&amp;quot;IEEE Std 1003.1-2008&amp;quot; /&amp;gt;&lt;br /&gt;
; &amp;lt;code&amp;gt;-i&amp;lt;/code&amp;gt;&lt;br /&gt;
: Interaktiv: Fordert den Benutzer bei jeder einzelnen Datei auf, das Löschen zu bestätigen.&amp;lt;ref name=&amp;quot;IEEE Std 1003.1-2008&amp;quot; /&amp;gt; &lt;br /&gt;
; &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt;&lt;br /&gt;
: Rekursives Löschen: löscht ein Verzeichnis selbst und alle Inhalte dessen einschließlich aller Unterverzeichnisse und deren Inhalte.&amp;lt;ref name=&amp;quot;IEEE Std 1003.1-2008&amp;quot; /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Einige [[Implementierung]]en von &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; bieten darüber hinaus verschiedene zusätzliche Optionen.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
|url = http://www.freebsd.org/cgi/man.cgi?query=rm&lt;br /&gt;
|title = rm&lt;br /&gt;
|work = [[FreeBSD]] Man Pages&lt;br /&gt;
|publisher = FreeBSD Foundation&lt;br /&gt;
|accessdate = 2012-02-14&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
|url = http://www.gnu.org/software/coreutils/manual/html_node/rm-invocation.html&lt;br /&gt;
|title = rm invocation&lt;br /&gt;
|work = GNU Coreutils&lt;br /&gt;
|publisher = [[Free Software Foundation]]&lt;br /&gt;
|accessdate = 2012-02-14&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== rm -rf / ==&lt;br /&gt;
Das &amp;lt;code&amp;gt;rm -rf /&amp;lt;/code&amp;gt;-Kommando wird wegen seiner katastrophalen Wirkung bereits von der [[Netzkultur]] metaphorisch verwendet, ähnlich wie [[/dev/null]]. Der Aufruf von &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; mit den Parametern &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt; auf das [[Wurzelverzeichnis]] (Root-Verzeichnis) bewirkt, wie man der [[#Syntax|Syntaxbeschreibung]] bereits entnehmen kann, das rekursive Löschen aller Dateien auf dem ausführenden Gerät (genauer: auf allen [[mounten|eingebundenen]] Datenträgern) ohne Rückfrage. Führt man dieses Kommando als [[Root-Account|Administrator]] (root) aus, führt das prinzipiell zur unwiderruflichen Löschung des gesamten Systems; als normaler Benutzer löscht dies in der Regel nur alle diejenigen Dateien, die dem ausführenden Benutzer gehören (siehe [[Unix-Dateirechte]] für Details zur Rechtehandhabung und dem &amp;#039;&amp;#039;Eigentum&amp;#039;&amp;#039; von Dateien) bzw. auf die er generell Schreibrechte besitzt (siehe z.&amp;amp;nbsp;B. [[Access Control List#POSIX|POSIX ACLs]]).&lt;br /&gt;
&lt;br /&gt;
[[Sun Microsystems]] führte einen „&amp;lt;code&amp;gt;rm -rf /&amp;lt;/code&amp;gt;“-Schutz mit [[Solaris (Betriebssystem)|Solaris]] 10 ein (erste Version von 2005). Beim Aufruf des besagten [[Unix-Kommandos]] bricht das Programm mit der Fehlermeldung ab, dass das Löschen von &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; nicht erlaubt sei.&amp;lt;ref&amp;gt;{{Webarchiv|url=http://blogs.sun.com/jbeck/date/20041001#rm_rf_protection |wayback=20110316050226 |text=Meddling in the Affairs of Wizards |archiv-bot=2018-12-11 11:37:37 InternetArchiveBot }} (englisch)&amp;lt;/ref&amp;gt; Kurz darauf wurde die gleiche Funktion in [[FreeBSD]] eingeführt.&lt;br /&gt;
&lt;br /&gt;
Wie durch die POSIX-Spezifikation&amp;lt;ref&amp;gt;[http://pubs.opengroup.org/onlinepubs/9699919799/utilities/rm.html The Open Group Base Specifications Issue 7 - rm] (englisch)&amp;lt;/ref&amp;gt; gefordert, bricht auch die [[GNU]]-Version von &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; mit einer Fehlermeldung ab, solange nicht die Option &amp;lt;code&amp;gt;--no-preserve-root&amp;lt;/code&amp;gt; angegeben wird. Diese GNU-spezifische Option und ihr Pendant &amp;lt;code&amp;gt;--preserve-root&amp;lt;/code&amp;gt; wurden schon 2003 mit der Veröffentlichung der Version 5.1.0&amp;lt;ref&amp;gt;[http://git.sv.gnu.org/cgit/coreutils.git/commit/?id=34e3ea05 Git commit] &amp;#039;&amp;#039;Support new options: --preserve-root and --no-preserve-root&amp;#039;&amp;#039; (englisch)&amp;lt;/ref&amp;gt; der [[GNU Core Utilities]] eingeführt, und mit Version 6.2&amp;lt;ref&amp;gt;[http://git.sv.gnu.org/cgit/coreutils.git/commit/?id=89ffaa19 Git commit] &amp;#039;&amp;#039;…--preserve-root is now the default&amp;#039;&amp;#039; (englisch)&amp;lt;/ref&amp;gt; (2006 veröffentlicht) wurde letztere Option Standard.&lt;br /&gt;
&lt;br /&gt;
Das Pendant zu &amp;lt;code&amp;gt;rm -rf /&amp;lt;/code&amp;gt; aus der Welt der [[IBM-PC-kompatibler Computer|IBM-kompatiblen PCs]] ([[PC-kompatibles DOS|DOS]] und [[Microsoft Windows|Windows]]) ist &amp;lt;code&amp;gt;[[FORMAT.COM#FORMAT C:|format c:]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Navigationsleiste Befehle der GNU core utilities}}&lt;br /&gt;
[[Kategorie:Unix-Software]]&lt;br /&gt;
[[Kategorie:GNU Core Utilities]]&lt;br /&gt;
[[Kategorie:Unix-Betriebssystemkomponente]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Y2kbug</name></author>
	</entry>
</feed>