[linux-l] rm -r
Volker Grabsch
vog at notjusthosting.com
So Okt 28 13:18:49 CET 2007
On Sun, Oct 28, 2007 at 11:44:46AM +0100, Boris Kirkorowicz wrote:
> Also will ich alle *.msf-Dateien unterhalb von mail/ löschen. Dazu
> begebe ich mich in dieses Verzeichnis und setze den Befehl
> rm -r *.msf
> ab. Doch rm beschwert sich, dass es die Datei nicht findet.
Zwei mögliche Probleme:
1) Der Befehl löscht keine versteckte Dateien (die mit "." beginnen)
2) Der Befehl löscht *nicht* in Unterverzeichnissen
3) Der Befehl löscht ganze Unterverzeichnisse (gefährlich!)
Beachte den subtilen Unterschied zwischen 2) und 3).
Ein Verzeichnis "aaaa.msf" würde rekursiv gelöscht werden, aber eine
Datei "aaaa/bbbb.msf", also in einem Unterverzeichnis, würde nicht
gelöscht werden.
Problem 3) vermeidest du, indem du "-r" weglässt, und nur "rm" nutzt.
Problem 1) und 2) vermeidest du, indem du nicht "*.msf" direkt benutzt,
sondern erstmal rekusriv nach allen Dateien der Form *.msf" suchst.
Das reine Suchen (auch nach versteckten Dateien) geht via:
find -name '*.msf'
Starte den Befehl und schaue zuerst, ob er wirklich die gewünschten
Dateien findet, und nur die! Wenn dieser Test gut gegangen ist, kann
du für jeden der Dateien einen "rm"-Befehl starten. Das geht via:
find -name '*.msf' -exec rm {} \;
> Also werfe
> ich mit touch test.msf ihm eine Datei zum Fraß vor, die es auch löscht,
> aber nach wie vor die Unterverzeichnisse nicht anrührt. Auch
> rm -rf *.msf oder rm -rf ./*.msf bringen keinen Erfolg.
Diese beiden Effekte sollten anhand meiner vorherigen Ausführungen
nun klar sein.
Gruß,
Volker
--
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR
Mehr Informationen über die Mailingliste linux-l