Linux-Praxisbuch/ rm
Der Remove Befehl ( Lösch Befehl ) rm
Allgemeines
[Bearbeiten]Das Kommando rm (remove) löscht eine oder mehrere Dateien. Um Dateien löschen zu können, benötigt man Schreibrechte in dem jeweiligen Verzeichnis. Wenn diese für das aktuelle Verzeichnis fehlen, muss der Löschvorgang für jede Datei mit y oder n bestätigt oder abgelehnt werden.
Mit dem Befehl rm muss man vorsichtig umgehen, da die gelöschten Dateien nicht oder nur unter großen Schwierigkeiten wiederhergestellt werden können.
Einfaches Beispiel
[Bearbeiten]Es soll die datei1 gelöscht werden. Sie steht alleine im Verzeichnis.
user@linux ~/testdir$ ls datei1 user@linux ~/testdir$ rm datei1 user@linux ~/testdir$ ls user@linux ~/testdir$
Optionen
[Bearbeiten]Mit der Option -r löscht rm auch Verzeichnisse, selbst wenn sie nicht leer sind.
user@linux ~/testdir$ ls -lR .: insgesamt 0 -rw-r--r-- 1 user users 0 Mai 29 19:34 datei1 -rw-r--r-- 1 user users 0 Mai 29 19:34 datei2 -rw-r--r-- 1 user users 0 Mai 29 19:34 datei3 -rw-r--r-- 1 user users 0 Mai 29 19:34 datei4 drwxr-xr-x 2 user users 144 Mai 29 19:34 dir1 ./dir1: insgesamt 0 -rw-r--r-- 1 user users 0 Mai 29 19:34 datei1 -rw-r--r-- 1 user users 0 Mai 29 19:34 datei2 -rw-r--r-- 1 user users 0 Mai 29 19:34 datei3 -rw-r--r-- 1 user users 0 Mai 29 19:34 datei4 user@linux ~/testdir$ rm -r * user@linux ~/testdir$
Weitere nützliche Option sind:
-i: interaktives Löschen. Jedes Löschen muss mit y oder n bestätigt oder abgelehnt werden. -f: löscht auch schreibgeschützte Dateien ohne Bestätigung
Alles löschen
[Bearbeiten]Achtung: Wenn man im Wurzelverzeichnis / ist und als root den Befehl rm -r * ausführt, löscht man ALLE Dateien des Systems! Daher ist rekursives Löschen nur mit äußerster Vorsicht anzuwenden!
Bei der Eingabe von
rm -rf *
werden vom aktuellen Verzeichnis ausgehend alle Dateien und Unterverzeichnisse ohne Rückfrage gelöscht. Auch diese Variante kann viel Ärger anrichten.
Eine "gefährliche" Option soll hier nicht unerwähnt bleiben:
-d: Löscht Verzeichnisse mittels eines unlink Systemaufrufes. Da hierbei die enthaltenen Dateien nicht mitgelöscht werden, ist das Dateisystem hinterher meist inkonsistent. Es wird dann wahrscheinlich eine Dateisystemreparatur notwendig sein.
Final shutdown
[Bearbeiten]Siehe https://www.linux-community.de/ausgaben/linuxuser/2003/03/logout/
Weitere Beispiele
[Bearbeiten]Sie haben ein leeres Verzeichnis /wik . Dieses wollen Sie löschen.
knoppix:/> rm wik rm: Entfernen von ,,wik" nicht möglich: Keine Berechtigung knoppix:/> su Password: linux:/ # rm wik rm: Entfernen von ,,wik" nicht möglich: Ist ein Verzeichnis linux:/ # rmdir wik
Keine Fehlermeldung mehr. Es hat funktioniert.
Wie kann man ein ausführbares Programm endgültig löschen?
[Bearbeiten]Sie spielen immer wieder dasselbe Spiel und es kostet Sie allmählich zu viel Zeit. Deswegen wollen Sie das Programm loswerden. Das Programm ist in KDE eingebunden. Zunächst einmal wird das Programm quick and dirty entfernt. Dann kann man es auch aus KDE entfernen und eventuell noch die Hilfedateien zu dem Programm. Als Beispiel werden die Kartenspiele von KDE herangezogen.
Wie heißt das Programm wirklich?
[Bearbeiten]Das Kmenü verrät einem nicht so schnell, wie ein Programm heißt. Deswegen ziehen wir das Programm mit der festgehaltenen Maustaste aus dem Kmenü auf den Desktop. Dort kopieren wir es hin oder verknüpfen es. Wir sehen jetzt bereits seinen Namen: Patiencen. Durch einen Klick auf den Icon mit der rechten Maustaste können wir uns die Eigenschaften des Programmes anschauen. Das Programm heißt kpat.
Wo steht das Programm??
[Bearbeiten]Als erstes müssen Sie herausfinden, wo in Ihrem Linuxsystem kpat zu finden ist. Dazu starten Sie eine Suche. Es gibt dafür 2 Möglichkeiten.
Suche über die KDE Datei Suche
[Bearbeiten]Dazu öffnen Sie das Kmenü und wählen den Menüpunkt Dateien suchen. Als gesuchte Datei geben Sie kpat ein. Die Suche dauert ziemlich lang. Sie ergibt als Ergebnis:
/opt/kde3/bin/kpat /opt/kde3/share/doc/HTML/de/kpat
Schneller geht die Suche mit find über die Konsole.
Suche über die Konsole
[Bearbeiten]Sie öffnen eine Konsole und geben dort Folgendes ein:
find / -name kpat* 2>/dev/null
Werden Sie sich wundern, wie häufig das Programm auf Ihrem Rechner steht. Folgendes Suchergebnis erhalten Sie:
/opt/kde3/bin/kpat /opt/kde3/share/doc/HTML/de/kpat /opt/kde3/share/doc/HTML/en/kpat /opt/kde3/share/apps/kpat /opt/kde3/share/apps/kpat/kpatui.rc /opt/kde3/share/icons/crystalsvg/16x16/apps/kpat.png /opt/kde3/share/icons/crystalsvg/32x32/apps/kpat.png /opt/kde3/share/icons/crystalsvg/48x48/apps/kpat.png /opt/kde3/share/locale/de/LC_MESSAGES/kpat.mo /opt/kde3/share/applications/kde/kpat.desktop /tmp/kde-rho/kpatr3Qtsa.tmp /tmp/kde-rho/kpat8yZyQb.tmp /tmp/kde-rho/kpatphbs4a.tmp /tmp/kde-rho/kpatGgrVea.tmp /home/home/.kde/share/config/kpatrc /home/home/Desktop/kpat.desktop
Die wichtigste Datei ist die erste. Sie steht in den Binaries. /opt/kde3/bin/kpat
Datei freigeben oder als Root einloggen
[Bearbeiten]Wenn Sie versuchen die Datei als normaler Linuxnutzer mit dem Befehl
rm /opt/kde3/bin/kpat
zu löschen, erhalten Sie eine Fehlermeldung, da die Datei nur lesbar, aber nicht beschreibbar ist.
knoppix@linux:~> rm /opt/kde3/bin/kpat rm: reguläre Datei (schreibgeschützt) ,,/opt/kde3/bin/kpat" entfernen? y rm: Entfernen von ,,/opt/kde3/bin/kpat" nicht möglich: Keine Berechtigung
Sie müssen sich also mit su und Ihrem Passwort als Root einloggen, dann können Sie auch löschen.
Datei löschen
[Bearbeiten]Der Befehl zum Löschen unter Linux ist rm (remove, entfernen). Wenn Sie die Datei als root mit
rm /opt/kde3/bin/kpat
löschen, gibt es keine Rückfrage mehr und die Datei ist endgültig weg. Sie ist nicht im Papierkorb und nicht wiederherstellbar. Wenn Sie jetzt versuchen, das Programm kpat zu starten, geht dies nicht mehr. Sie erhalten eine Fehlermeldung:
Als Belohnung haben Sie viel Zeit gewonnen, da Sie nicht mehr Patiencen spielen müssen.
Fehlermeldungen des remove-Befehls
[Bearbeiten]Siehe auch:
[Bearbeiten]- rmdir Löscht ein leeres Verzeichnis