Rm (Unix)rm (Abkürzung für englisch remove ‚entfernen‘) ist in der Unix-Welt der übliche Befehl, Datei- und Verzeichniseinträge zu entfernen/löschen. Der Befehl ist im POSIX-Standard definiert. Es handelt sich dabei um ein eigenständiges Programm, nicht um einen Unix-Shell-Befehl. Beim Einsatz von rm ist Vorsicht geboten, da standardmäßig keine Rückfrage zur Bestätigung des Befehls erfolgt; versehentlich können daher systemrelevante Dateien entfernt werden.[1] Dateien bei Unix- und abgeleiteten Dateisystemen bestehen einerseits aus dem eigentlichen Datenbestand, dem Datenobjekt (der Dateiinhalt), dem ein eindeutiger Datenknoten, ein sogenannter Inode, zugeordnet ist, und andererseits aus mindestens einem Hardlink (englisch link, auch Verweis oder Verknüpfung) auf jenen Inode, der als „voller“ Dateiname (d. h. inkl. Pfad) repräsentiert wird. Ein Inode kann dabei mehrere Dateinamen – also Dateiobjektverweise bzw. englisch hard links – haben. Tatsächlich löscht der Befehl 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 Datenblöcke zum Überschreiben freigegeben. Solange diese Datenblöcke nicht überschrieben wurden, kann eine gelöschte Datei daher wiederhergestellt werden. Das Programm rm 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. rm und unlinkWährend der Befehl Die konkrete Funktionsweise, also ob etwa der Systemaufruf unlink verwendet wird, hängt von der eingesetzten Implementierung ab (bei der ursprünglichen Unix-Variante war dies bei Sicheres LöschenDas Betriebssystem gibt nach rm 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. 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.[2] DateiwiederherstellungUnix unterstützt normalerweise nicht die Wiederherstellung von Dateien. Frei gewordene Datenblöcke werden unter Umständen sofort von neuen Daten anderer Prozesse belegt. Es existieren jedoch Dateisysteme, die eine Wiederherstellung unterstützen. Obwohl es bereits seit einigen Jahren entsprechende Entwicklungen gibt, hat sich das „undelete“ noch nicht durchgesetzt. Syntaxrm [Optionen] Dateiname Beispiel: rm test.txt Dieses Beispiel löscht die Datei „test.txt“ aus dem Verzeichnis, in dem man sich aktuell befindet. Optionen: Drei Optionen von
Einige Implementierungen von rm -rf /Das Sun Microsystems führte einen „ Wie durch die POSIX-Spezifikation[7] gefordert, bricht auch die GNU-Version von Einzelnachweise
|
Portal di Ensiklopedia Dunia