Rm: Unterschied zwischen den Versionen
Zeile 65: | Zeile 65: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Problembehebung | == Beispiele == | ||
Datei ohne Bestätigung löschen | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
rm -f my.txt | |||
</syntaxhighlight> | |||
Alle Dateien mit einer bestimmten Erweiterung löschen | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
rm *.log | |||
</syntaxhighlight> | |||
Alle Dateien, die mit einem bestimmten Präfix beginnen, löschen | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
rm temp.* | |||
</syntaxhighlight> | |||
Ein leeres Verzeichnis löschen (entspricht rmdir leeres_ver) | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
rm -d leeres_ver | |||
</syntaxhighlight> | |||
Ein nicht leeres Verzeichnis löschen | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
rm-r nicht_leeres_ver | |||
</syntaxhighlight> | |||
Alle Dateien in einem Verzeichnis löschen, das Verzeichnis jedoch beibehalten | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
rm -r mein_ver/* | |||
</syntaxhighlight> | |||
Alles außer my.txt und my_dir entfernen | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
rm -r !(my.txtlmy_dir) | |||
</syntaxhighlight> | |||
Alle versteckten Dateien im aktuellen Verzeichnis entfernen | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
rm .[*.]* | |||
</syntaxhighlight> | |||
Eine Datei entfernen, die mit einem Sonderzeichen beginnt (z. B. „-“) | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
rm ./-filetxt | |||
</syntaxhighlight> | |||
Alle Dateien finden und entfernen, die älter als 7 Tage sind | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
find.-type f-mtime +7 -delete | |||
</syntaxhighlight> | |||
Dateien finden und entfernen, auf die innerhalb der letzten 24 Stunden zugegriffen wurde | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
find.-type f-atime-1-delete | |||
</syntaxhighlight> | |||
Alle Null-Byte-Dateien finden und entfernen | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
find.-type f-empty -delete | |||
</syntaxhighlight> | |||
Alle leeren Verzeichnisse finden und entfernen | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
find.-type d -empty-delete | |||
</syntaxhighlight> | |||
Dateien finden und entfernen, die größer als 100 MB sind | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
find.-type f-size +100M -delete | |||
</syntaxhighlight> | |||
Dateien suchen und entfernen, die dem Benutzer „dan“ gehören | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
find.-type f-user dan -delete | |||
</syntaxhighlight> | |||
Dateien mit Berechtigung 777 suchen und entfernen | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
find.-type f -perm 0777 -delete | |||
</syntaxhighlight> | |||
Nicht leere Verzeichnisse entfernen | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
find.-type d-name „pattern“ -execrm-r{}+ | |||
</syntaxhighlight> | |||
Datei anhand ihrer Inode-Nummer (12345) entfernen | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
find..-inum 12345 -exec rm -f{} + | |||
</syntaxhighlight> | |||
Dateien mit gesetztem Setuid-Bit entfernen | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
find.-type f -perm /4000 -exec rm -f{}+ | |||
</syntaxhighlight> | |||
Die 5 größten Dateien finden und entfernen (wenn Dateinamen keine Leerzeichen enthalten) | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
find.-type f-exec du -b {} + |sort-nr head -5 | awk {print $2}' |xargs rm | |||
</syntaxhighlight> | |||
Alle symbolischen Links suchen und entfernen (defekt oder gültig) | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
find.-typel-delete | |||
</syntaxhighlight> | |||
Alle defekten symbolischen Links suchen und entfernen | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
find.-xtypel-delete | |||
</syntaxhighlight> | |||
Eine einzelne Datei entfernen (kann nicht mehrere Dateien verarbeiten) | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
unlink file.txt | |||
</syntaxhighlight> | |||
Eine Datei sicher entfernen, indem der Inhalt mehrmals überschrieben wird | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
srm file.txt | |||
</syntaxhighlight> | |||
Eine Datei mehrmals überschreiben und entfernen | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
shred -u file.txt | |||
</syntaxhighlight> | |||
== Problembehebung == | |||
<noinclude> | <noinclude> |
Version vom 13. Februar 2025, 12:46 Uhr
rm - remove
Beschreibung
rm löscht Dateien
- auch komplette Verzeichnisse
- Vorsicht
Dateien, die im Terminal mit dem Befehl rm gelöscht werden, landen nicht im Papierkorb
Installation
rm ist Teil des Paket Coreutils, das auf jedem Linux-System installiert sein sollte
Aufruf
rm [OPTION] DATEI[EN]
Optionen
Unix | GNU | Parameter | Beschreibung |
---|---|---|---|
-i | --interactive | vor dem Löschen eine Nachfrage | |
--preserve-root | nicht rekursiv auf „/“ arbeiten | ||
--no-preserve-root | „/“ nicht besonders behandeln | ||
--one-file-system | beim rekursiven Entfernen einer Verzeichnishierarchie die Verzeichnisse überspringen, die sich auf einem anderen Gerät als der Parameter befinden | ||
-v | --verbose | durchgeführte Tätigkeiten erklären | |
-r -R |
--recursive | Verzeichnisse und deren Inhalte rekursiv entfernen | |
-f | --force | keine Nachfrage beim Löschen |
Parameter
Umgebungsvariablen
Exit-Status
Anwendung
Eine einzelne Datei löschen
rm datei
Mehrere Dateien löschen
rm datei1 datei2 datei3
Alle Dateien und Unterordner im angegebenen Ordner löschen
rm -r Ordnername/*
Alle Dateien und Unterordner inklusive des Ordners selbst löschen
rm -r Ordnername
Dateien mit bestimmten Bezeichnungen im Namen löschen
rm *datei*
Beispiele
Datei ohne Bestätigung löschen
rm -f my.txt
Alle Dateien mit einer bestimmten Erweiterung löschen
rm *.log
Alle Dateien, die mit einem bestimmten Präfix beginnen, löschen
rm temp.*
Ein leeres Verzeichnis löschen (entspricht rmdir leeres_ver)
rm -d leeres_ver
Ein nicht leeres Verzeichnis löschen
rm-r nicht_leeres_ver
Alle Dateien in einem Verzeichnis löschen, das Verzeichnis jedoch beibehalten
rm -r mein_ver/*
Alles außer my.txt und my_dir entfernen
rm -r !(my.txtlmy_dir)
Alle versteckten Dateien im aktuellen Verzeichnis entfernen
rm .[*.]*
Eine Datei entfernen, die mit einem Sonderzeichen beginnt (z. B. „-“)
rm ./-filetxt
Alle Dateien finden und entfernen, die älter als 7 Tage sind
find.-type f-mtime +7 -delete
Dateien finden und entfernen, auf die innerhalb der letzten 24 Stunden zugegriffen wurde
find.-type f-atime-1-delete
Alle Null-Byte-Dateien finden und entfernen
find.-type f-empty -delete
Alle leeren Verzeichnisse finden und entfernen
find.-type d -empty-delete
Dateien finden und entfernen, die größer als 100 MB sind
find.-type f-size +100M -delete
Dateien suchen und entfernen, die dem Benutzer „dan“ gehören
find.-type f-user dan -delete
Dateien mit Berechtigung 777 suchen und entfernen
find.-type f -perm 0777 -delete
Nicht leere Verzeichnisse entfernen
find.-type d-name „pattern“ -execrm-r{}+
Datei anhand ihrer Inode-Nummer (12345) entfernen
find..-inum 12345 -exec rm -f{} +
Dateien mit gesetztem Setuid-Bit entfernen
find.-type f -perm /4000 -exec rm -f{}+
Die 5 größten Dateien finden und entfernen (wenn Dateinamen keine Leerzeichen enthalten)
find.-type f-exec du -b {} + |sort-nr head -5 | awk {print $2}' |xargs rm
Alle symbolischen Links suchen und entfernen (defekt oder gültig)
find.-typel-delete
Alle defekten symbolischen Links suchen und entfernen
find.-xtypel-delete
Eine einzelne Datei entfernen (kann nicht mehrere Dateien verarbeiten)
unlink file.txt
Eine Datei sicher entfernen, indem der Inhalt mehrmals überschrieben wird
srm file.txt
Eine Datei mehrmals überschreiben und entfernen
shred -u file.txt
Problembehebung
Anhang
Siehe auch
Dokumentation
Man-Page
Info-Pages
Links
Projekt
Weblinks