[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Zeitsparende Variante von cp bekannt?



Am Montag, 20. Juni 2011 schrieb Andrei POPESCU:
> On Lu, 20 iun 11, 14:28:08, Martin Steigerwald wrote:
> > Sinnvoll wäre dafür allerdings trotzdem ein Shortcut aka ein Befehl,
> > der ein leeres Verzeichnis *oder* eine Datei löscht.
> > 
> > Ich würde ja im Grunde rm auch leere Verzeichnisse löschen lassen.
> > Dafür rmdir zu verwenden, ist mir nicht ganz eingängig. Liegt aber
> > vielleicht auch daran, dass ich vom Amiga her komme.
> > 
> > Dort gabs delete und dem war es egal, obs eine Datei oder ein leeres
> > Verzeichnis war.
> > 
> > Mit der Option ALL gings dann auch mit gefüllten Verzeichnissen.
> 
> Es sollte nicht sehr kompliziert sein ein 'delete' Skript zu schreiben,
> der je nach bedarf 'rm', 'rmdir' oder 'rm -rf' aufruft ;)

Nein, genau darum ging es mir ja nicht. Für Skripte denke ich ist etwas 
gut, dass sowohl eine Datei oder ein *leeres* Verzeichnis löscht. Für so 
etwas kommt in der Regel rm -rf zum Einsatz, das aber auch einen 
kompletten Verzeichnis-Baum löscht. Jetzt braucht es nur noch einen Fehler 
im Skript, sei es dass es statt /tmp/foo-2917 den Pfad / generiert, um den 
krassen Unterschied zwischen beiden Ansätzen zu demonstrieren.

Interessant fände ich dann noch eine Option, wie tief der Löschvorgang 
reingehen möchte. Wenn ich ein Verzeichnis mit Dateien aber keinen 
weiteren Unterverzeichnissen, die wiederum Dateien enthalten, löschen 
möchte, dann wäre ein solcher Befehl nett. Aber im Grunde gibts den ja:

find PFAD -maxdepth 1 -delete

Und meinen Delete-Ersatz gibt es auch:

find PFAD -maxdepth 0 -delete

löscht eine Datei oder ein leeres Verzeichnis ;)

martin@merkaba:~> cd /tmp
martin@merkaba:/tmp> mkdir Verzeichnis
martin@merkaba:/tmp> touch Datei
martin@merkaba:/tmp> mkdir Verzeichnis2
martin@merkaba:/tmp> touch Verzeichnis2/bitte-nicht-löschen
martin@merkaba:/tmp> find Verzeichnis -maxdepth 0 -delete
martin@merkaba:/tmp> find Datei -maxdepth 0 -delete
martin@merkaba:/tmp> find Verzeichnis2 -maxdepth 0 -delete
find: Kann "Verzeichnis2" nicht löschen.: Das Verzeichnis ist nicht leer
martin@merkaba:/tmp#1> ls Verzeichnis Datei Verzeichnis2
ls: Zugriff auf Verzeichnis nicht möglich: Datei oder Verzeichnis nicht 
gefunden
ls: Zugriff auf Datei nicht möglich: Datei oder Verzeichnis nicht gefunden
Verzeichnis2:
bitte-nicht-löschen
martin@merkaba:/tmp#2

-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: