Zum Inhalt springen

Rm: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 87: Zeile 87:


Ein nicht leeres Verzeichnis löschen
Ein nicht leeres Verzeichnis löschen
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line="">
rm-r nicht_leeres_ver
rm -r nicht_leeres_ver
</syntaxhighlight>
</syntaxhighlight>


Zeile 97: Zeile 97:


Alles außer my.txt und my_dir entfernen
Alles außer my.txt und my_dir entfernen
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line="">
rm -r !(my.txtlmy_dir)
rm -r !(my.txt|my_dir)
</syntaxhighlight>
</syntaxhighlight>


Alle versteckten Dateien im aktuellen Verzeichnis entfernen
Alle versteckten Dateien aus dem aktuellen Verzeichnis entfernen
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line="">
rm .[*.]*  
rm .[^.]*  
</syntaxhighlight>
</syntaxhighlight>


Eine Datei entfernen, die mit einem Sonderzeichen beginnt (z. B. „-“)
Eine Datei entfernen, die mit einem Sonderzeichen beginnt (z. B. „-“)
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line="">
rm ./-filetxt
rm ./-file.txt
</syntaxhighlight>
</syntaxhighlight>


Alle Dateien finden und entfernen, die älter als 7 Tage sind
Alle Dateien finden und entfernen, die älter als 7 Tage sind
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line="">
find.-type f-mtime +7 -delete  
find . -type f -mtime +7 -delete  
</syntaxhighlight>
</syntaxhighlight>


Dateien finden und entfernen, auf die innerhalb der letzten 24 Stunden zugegriffen wurde
Dateien finden und entfernen, auf die innerhalb der letzten 24 Stunden zugegriffen wurde
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line="">
find.-type f-atime-1-delete
find . -type f -atime -1 -delete
</syntaxhighlight>
</syntaxhighlight>


Alle Null-Byte-Dateien finden und entfernen
Alle Null-Byte-Dateien finden und entfernen
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line="">
find.-type f-empty -delete  
find . -type f -empty -delete  
</syntaxhighlight>
</syntaxhighlight>


Alle leeren Verzeichnisse finden und entfernen
Alle leeren Verzeichnisse finden und entfernen
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line="">
find.-type d -empty-delete  
find . -type d -empty -delete  
</syntaxhighlight>
</syntaxhighlight>


Dateien finden und entfernen, die größer als 100 MB sind
Dateien finden und entfernen, die größer als 100 MB sind
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line="">
find.-type f-size +100M -delete  
find . -type f -size +100M -delete  
</syntaxhighlight>
</syntaxhighlight>


Dateien suchen und entfernen, die dem Benutzer „dan“ gehören
Dateien suchen und entfernen, die dem Benutzer „peter“ gehören
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line="">
find.-type f-user dan -delete  
find . -type f -user peter -delete  
</syntaxhighlight>
</syntaxhighlight>


Dateien mit Berechtigung 777 suchen und entfernen
Dateien mit Berechtigung 777 suchen und entfernen
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line="">
find.-type f -perm 0777 -delete  
find . -type f -perm 0777 -delete  
</syntaxhighlight>
</syntaxhighlight>


Nicht leere Verzeichnisse entfernen
Nicht leere Verzeichnisse entfernen
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line="">
find.-type d-name „pattern“ -execrm-r{}+  
find . -type d -name „pattern“ -exec rm -r {} +  
</syntaxhighlight>
</syntaxhighlight>


Datei anhand ihrer Inode-Nummer (12345) entfernen
Datei anhand ihrer Inode-Nummer (12345) entfernen
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line="">
find..-inum 12345 -exec rm -f{} +  
find . -inum 12345 -exec rm -f{} +  
</syntaxhighlight>
</syntaxhighlight>


Dateien mit gesetztem Setuid-Bit entfernen
Dateien mit gesetztem Setuid-Bit entfernen
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line="">
find.-type f -perm /4000 -exec rm -f{}+
find . -type f -perm /4000 -exec rm -f {} +
</syntaxhighlight>
</syntaxhighlight>


Die 5 größten Dateien finden und entfernen (wenn Dateinamen keine Leerzeichen enthalten)
Die 5 größten Dateien finden und entfernen (wenn Dateinamen keine Leerzeichen enthalten)
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line="">
find.-type f-exec du -b {} + |sort-nr head -5 | awk {print $2}' |xargs rm  
find . -type f -exec du -b {} + | sort-nr head -5 | awk '{print $2}' | xargs rm  
</syntaxhighlight>
</syntaxhighlight>


Alle symbolischen Links suchen und entfernen (defekt oder gültig)
Alle symbolischen Links suchen und entfernen (defekt oder gültig)
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line="">
find.-typel-delete  
find . -type l -delete  
</syntaxhighlight>
</syntaxhighlight>


Alle defekten symbolischen Links suchen und entfernen
Alle defekten symbolischen Links suchen und entfernen
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line="">
find.-xtypel-delete  
find . -xtype l -delete  
</syntaxhighlight>
</syntaxhighlight>



Version vom 13. Februar 2025, 12:57 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.txt|my_dir)

Alle versteckten Dateien aus dem aktuellen Verzeichnis entfernen

rm .[^.]*

Eine Datei entfernen, die mit einem Sonderzeichen beginnt (z. B. „-“)

rm ./-file.txt

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 „peter“ gehören

find . -type f -user peter -delete

Dateien mit Berechtigung 777 suchen und entfernen

find . -type f -perm 0777 -delete

Nicht leere Verzeichnisse entfernen

find . -type d -name „pattern“ -exec rm -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 . -type l -delete

Alle defekten symbolischen Links suchen und entfernen

find . -xtype l -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