Der Befehl find gibt Folgendes aus:
[root @ localhost /] # find var / log / -iname anaconda. * var / log / anaconda.log var / log / anaconda.xlog var / log / anaconda.yum.log var / log / anaconda.syslog var / log / anaconda.program.log var / log / anaconda.storage.log
Nach der Kombination mit tar wird folgende Ausgabe angezeigt:
[root @ localhost /] # find var / log / -iname anaconda. * -exec tar -cvf file.tar {} \;
var / log / anaconda.log
var / log / anaconda.xlog
var / log / anaconda.yum.log
var / log / anaconda.syslog
var / log / anaconda.program.log
var / log / anaconda.storage.log
Beim Auflisten einer TAR-Datei wird jedoch nur eine einzige Datei angezeigt
[root @ localhost /] # tar -tvf file.tar -rw ------- root / root 208454 27.02.2012 12:01 var / log / anaconda.storage.log
Was mache ich hier falsch?
Mit xargs erhalte ich diese Ausgabe:
[root @ localhost /] # find var / log / -iname anaconda. * | xargs tar -cvf file1.tar
Zweite Frage
Wenn Sie / vor var eingeben , bedeutet dies, find /var/logwarum es diesen Mesaage- Teer ausgibt : Führendes `/ 'aus den Mitgliedsnamen entfernen
[root @ localhost /] # find / var / log / -iname anaconda. * -exec tar -cvf file.tar {} \;
tar: Führendes `/ 'aus Mitgliedsnamen entfernen
/var/log/anaconda.log
tar: Führendes `/ 'aus Mitgliedsnamen entfernen
/var/log/anaconda.xlog
tar: Führendes `/ 'aus Mitgliedsnamen entfernen
/var/log/anaconda.yum.log
tar: Führendes `/ 'aus Mitgliedsnamen entfernen
/var/log/anaconda.syslog
tar: Führendes `/ 'aus Mitgliedsnamen entfernen
/var/log/anaconda.program.log
tar: Führendes `/ 'aus Mitgliedsnamen entfernen
/var/log/anaconda.storage.log
Was ist in einer einfachen Form der Unterschied zwischen den folgenden beiden?
find var/log und find /var/log
{} +stattdessen verwenden {} \;, werden die Ergebnisse von find in einem Argument zusammengefasst
findsollten Sie den Suchbegriff angeben. Es funktioniert ohne manchmal aber nicht immer.