Ich möchte sehen, welche Dateien unter rm
Linux gelöscht werden . Die meisten Befehle scheinen eine Trockenlaufoption zu haben, um nur solche Informationen anzuzeigen, aber ich kann eine solche Option für scheinbar nicht finden rm
. Ist das überhaupt möglich?
file-management
rm
Cory Klein
quelle
quelle
Antworten:
Angenommen, Sie möchten ausgeführt werden:
Sie können einfach laufen:
oder auch nur:
um zu sehen, welche Dateien
rm
gelöscht würden, da es sich bei der Shell um die Erweiterung handelt*.txt
, nichtrm
.Das einzige Mal, dass dir das nicht hilft, ist für
rm -r
.Wenn Sie Dateien und Verzeichnisse rekursiv entfernen möchten, können Sie
find
anstelle vonrm -r
zWenn es dann tut, was Sie wollen, ändern Sie das
-print
zu-delete
:quelle
tree
.find . -name "*.txt" -delete
scheint aber nicht rekursiv zu sein. Entfernte alle Dateien, entfernte aber nicht die Verzeichnisse, die in-print
find . -type d -empty -delete
find
löscht keine Verzeichnisse, die noch Dateien enthalten (äquivalent zurm dir/
without-r
). Sie würden zunächst das Verzeichnis leer müssen - oder verwenden ,find
um-exec rm
mit den entsprechenden Optionen , dies zu tun. egfind . -depth -name "*.txt" -exec rm -r {} +
echo rm *.txt
Methode scheint einen Nachteil zu haben. Die Ergebnisse werden in einer verketteten Liste dargestellt (eine lange Zeichenfolge mit einer Datei nach der vorherigen), im Gegensatz zu einer vertikalen Liste. Gibt es eine Möglichkeit, die Ausgabe in einer vertikalen Liste anzuzeigen (eine Datei pro Zeile)? (UPDATE: Ich sehe, dass diefind
Methode das tut, was ich verlangt habe. Also werde ich damit anfangen.)Sie können sagen:
rm
Wenn Sie es im interaktiven Modus ausführen möchten, werden Sie aufgefordert, zu bestätigen, ob jede Datei gelöscht werden soll. Sie können einfach auf jede Datei mit "Nein" antworten, um zu sehen, welche davon betroffen sind.quelle
Mit können Sie
ls
alle Dateien auflisten, die entfernt werdenrm
:Wenn Sie eine Liste benötigen, um die Dateien anzuzeigen, die rekursiv gelöscht werden sollen
rm
, verwenden Sie das-R
Flag mitls
:quelle
ls */*/*.txt
-R
Option.