La commande find donne cette sortie:
[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
Après avoir combiné avec tar, il affiche cette sortie:
[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
Mais tout en listant le fichier tar, il n'affiche qu'un seul fichier
[root @ localhost /] # tar -tvf file.tar -rw ------- root / root 208454 2012-02-27 12:01 var / log / anaconda.storage.log
Qu'est-ce que je fais mal ici?
Avec xargs, j'obtiens cette sortie:
[root @ localhost /] # find var / log / -iname anaconda. * | xargs tar -cvf file1.tar
Deuxième question
Tout en tapant / devant var, signifie find /var/logpourquoi il donne ce tar mesaage : Suppression du `/ 'en tête des noms de membres
[root @ localhost /] # find / var / log / -iname anaconda. * -exec tar -cvf file.tar {} \;
tar: Suppression des `/ 'en tête des noms de membres
/var/log/anaconda.log
tar: Suppression des `/ 'en tête des noms de membres
/var/log/anaconda.xlog
tar: Suppression des `/ 'en tête des noms de membres
/var/log/anaconda.yum.log
tar: Suppression des `/ 'en tête des noms de membres
/var/log/anaconda.syslog
tar: Suppression des `/ 'en tête des noms de membres
/var/log/anaconda.program.log
tar: Suppression des `/ 'en tête des noms de membres
/var/log/anaconda.storage.log
Sous une forme simple, quelle est la différence entre les deux suivants?
find var/log et find /var/log
{} +au lieu de {} \;cela, les résultats de la recherche seront regroupés en un seul argument
findcommande, vous devez citer le terme de recherche. Cela fonctionne sans parfois mais pas toujours.