Etwas , das ich glaube , ich sollte sicher wissen: Wenn ich ls <something>, wird rm <something>entfernen genau die gleichen Dateien , die lsangezeigt werden ? Gibt es Umstände, unter denen rmnicht angezeigte Dateien entfernt werden könnten ls? (Dies ist in der 18.04 Bash)
Edit: danke an alle die geantwortet haben. Ich denke, die vollständige Antwort ist eine Kombination aller Antworten, daher habe ich die am häufigsten gewählte Antwort als "die Antwort" akzeptiert.
Unerwartete Dinge, die ich dabei gelernt habe:
lsist nicht so einfach, wie Sie vielleicht denken, wenn Sie mit seinen Argumenten umgehen- In einer einfachen Installation von Ubuntu, .bashrc Aliase
ls - Benennen Sie Ihre Dateien nicht mit einem Bindestrich, da diese wie Befehlsargumente aussehen können, und die Benennung von one -r verlangt danach!
find -deletebesser als rm? Sie sagen "Deshalb" , aber mir ist völlig unklar, worauf sich das bezieht. Beachten Sie auch, dass Ihr findAufruf alle Dateien im aktuellen Verzeichnis rekursiv löscht , wobei rmnur die Dateien im unmittelbaren Verzeichnis gelöscht werden. Auch -name *ist ein No-Op. Alles in allem bin ich ziemlich verwirrt über Ihren Rat ...
findist, weil Sie es ausführen können, alle Dateien anzeigen und dann den gleichen Befehl mit ausführen können -delete. Da Sie bereits die Ergebnisse von gesehen haben find, sollte es keine Unklarheit darüber geben, was entfernt wird (ich würde gerne mehr Details dazu in Form einer Antwort hören)
-delete anzeigen und dann denselben Befehl mit " ausführen - Aber wie ist das besser als Ausführen ls <filespec>, gefolgt von rm <filespec>(dem das OP bereits weiß, wie es geht)?
find ... -printzuerst ausführen , um zu bestätigen, welche Dateien gelöscht werden sollen, find ... -deletewerden die zwischen den beiden Befehlen erstellten Dateien trotzdem gelöscht. Wenn Sie beide -printund verwenden -delete, erhalten Sie keine Bestätigung, sondern nur einen nachträglichen Bericht darüber, was gelöscht wurde (und Sie können diesen auch verwenden rm -v).
rmkeine--dry-runFlagge hat ...