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

Re: [Zwischenruf:] Verwendung von xargs [war: Re: root-kits aufspueren]



Am Mittwoch, 11. Januar 2012 schrieb Matthias Müller:
> Hallo,
> 
> Am Mittwoch 11 Januar 2012 schrieb Martin Steigerwald:
> > Am Mittwoch, 11. Januar 2012 schrieb Christian Schmidt:
> > > Hallo SchmiTTT,
> > > 
> > > SchmiTTT, 10.01.2012 (d.m.y):
> > > > Also wenn ich a-l-l-e-s auf der Festplatte durchsuchen will nach
> > > > dem String/Muster 'Xzibit'
> > > > gebe ich ein ins Terminal:
> > > > 
> > > > find / | grep -H "Xzibit";
> > > > 
> > > > ist das richtig so ? Oder ungenuegend ?
> > > 
> > > Du sagst find zwar, wo es suchen soll, aber nicht wonach.
> > 
> > Das ist kein Problem. find findet dann alle Dateien.
> > 
> > Und so weit ich verstand, möchte Val in den Datei-Inhalten suchen.
> > 
> > > Und der Aufruf von grep ist unnoetig.
> > > Read the find manual.
> > 
> > Daher macht der Aufruf von grep schon Sinn. Aber nur mit einem
> > vorangestellten xargs.
> 
> Mir erschließt sich der Sinn, auch nach fast 20 Jahren Unix/Linux, von
> "xargs", speziell und vor allem im Zusammenhang mit "find", immer noch
> nicht. Lasst mich bitte nicht blöd sterben.
> 
> Wenn ich eine Datei mit einem bestimmten Inhalt suchen will, gehe _ich_
> folgendermaßen vor:
>    find ${startpfad} -name "*" -exec grep ${suchmuster} {} /dev/null \;
> Das lässt sich jetzt etwas verfeinern mit Optionen etc.
> Die Angabe '-name "*"' stammt aus meinen AIX-Erfahrungen, dort
> funktioniert/-e der find etwas anders.
> 
> Einer meiner Kollegen und, wenn ich jetzt die Aussage von dir richtig
> interpretiere, auch du, verwenden in diesem Zusammenhang "xargs".
> Warum?
> Was gewinne ich dadurch?
> Wie würde das obige Kommando aussehen unter Verwendung von xargs?

Ach für diesen Fall ist es aus meiner Sicht im Grunde egal. Ich finde die 
Schreibweise für die -exec-Option bei find einfach etwas umständlich.

Für xargs sehe ich vor allem folgende Anwendungsfälle:

- Befehle, die nur ein Argument können, z.B. ssh-keygen -lf mit xargs -n1

- Löschen oder verschieben von Dateien oder Verzeichnissen, wenn man 
Vermeiden möchte, dass die Datei-Operationen den Verzeichnis-Scan von find 
beeinflussen. Für Löschen nehme ich jedoch mittlerweile die find-Option -
delete. Ob das mittlerweile jedoch wirklich noch relevant ist. Letztlich 
kann xargs ja auch schon anfangen, bevor find seine Ausgabe beendet. Ich 
habe da vage Erinnerungen an Seiteneffekte, die glaub sogar in der find-
Manpage dokumentiert waren / sind, aber das ist schon länger her. Da ich 
gleich raus spazierengehen möchte, solange die Sonne noch durchs 
Wolkendach kommt, schaue ich das jetzt nicht nach.

Ansonsten verwende ich mal die eine, mal die andere Variante.

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


Reply to: