O comando find fornece esta saída:
[root @ localhost /] # encontra 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
Depois de combinar com o tar, está mostrando esta saída:
[root @ localhost /] # encontra var / log / -nome 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
Mas ao listar o arquivo tar, ele mostra apenas um único arquivo
[root @ localhost /] # tar -tvf file.tar -rw ------- root / root 208454 27-02-2012 12:01 var / log / anaconda.storage.log
O que estou fazendo de errado aqui?
Com xargs, estou recebendo esta saída:
[root @ localhost /] # encontra var / log / -iname anaconda. * | xargs tar -cvf file1.tar
Segunda questão
Ao digitar / na frente de var, significa find /var/logpor que está dando a essa mesaage tar: Removendo `/ 'principal dos nomes dos membros
[root @ localhost /] # find / var / log / -nome anaconda. * -exec tar -cvf file.tar {} \;
tar: Removendo `/ 'principal dos nomes dos membros
/var/log/anaconda.log
tar: Removendo `/ 'principal dos nomes dos membros
/var/log/anaconda.xlog
tar: Removendo `/ 'principal dos nomes dos membros
/var/log/anaconda.yum.log
tar: Removendo `/ 'principal dos nomes dos membros
/var/log/anaconda.syslog
tar: Removendo `/ 'principal dos nomes dos membros
/var/log/anaconda.program.log
tar: Removendo `/ 'principal dos nomes dos membros
/var/log/anaconda.storage.log
De uma forma simples, qual é a diferença entre os dois seguintes?
find var/log e find /var/log
{} +, em vez de {} \;ele irá resultados do grupo de achado em um argumento
findcomando, você deve citar o termo da pesquisa. Funciona sem às vezes, mas nem sempre.