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

Re: Zeitsparende Variante von cp bekannt?



Am Dienstag, 21. Juni 2011 schrieb Alexander Skwar:
> Hi!
> 
> 2011/6/21 Heiko Schlittermann <hs@schlittermann.de>
> 
> > Martin Steigerwald <Martin@lichtvoll.de> (Tue Jun 21 09:10:42 2011):
> > > Am Dienstag, 21. Juni 2011 schrieb Heiko Schlittermann:
> > > >     rmdir PFAD 2>/dev/null || rm PFAD
> > > 
> > > Potentiell zwei Befehle. Gehts mit einem? ;)
> > 
> >    erem() { rmdir "$@" 2>/dev/null || rm "$@"; }
> > 
> > Aber das hättest Du auch alleine geschafft ☺
> 
> Das führt aber im "schlimmsten" Fall immer noch bis zu 2 externe
> Befehle aus - "furchtbar" ☺
> 
> erem() { test -d "$@" && rmdir "$@" || rm "$@"; }
> 
> Da test ein Shell Builtin ist (bei bash und ksh) wird so nur 1 externer
> Befehl aufgerufen - aber ob das SOOO wichtig ist... ;)

Heldenhaft ;) - das geht schon in die Richtung, die ich im Sinn hatte. 
Sieht aber komplizierter aus, wie meine find -delete-Variante.

Okay, ich sehe einfach, dass es offenbar einen solchen Befehl nicht im 
Standardumfang gibt, bzw. Moment mal:

martin@merkaba:/tmp> mkdir test
martin@merkaba:/tmp> unlink test
unlink: Entfernen (unlink) von „test“ nicht möglich: Ist ein Verzeichnis
martin@merkaba:/tmp#1>

Schade, klappt auch nicht ;), wie es auch schon in der Manpage angedeutet 
ist. Und das shred nicht mit Verzeichnissen funktioniert ist irgendwo 
logisch. Naja, das geht bis auf Betriebssystem-Ebene runter. So wie es 
aussieht, ist die System-Funktion unlink() nur in der Lage, Dateien zu 
löschen. Fürs Entfernen von Verzeichnissen gibts rmdir(), also sind die 
Befehle in der Semantik ziemlich nahe an den System-Funktionen.

-- 
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: