El comando find da esta salida:
[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
Después de combinar con tar, muestra esta salida:
[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
Pero al enumerar el archivo tar, solo muestra un único archivo
[root @ localhost /] # tar -tvf file.tar -rw ------- root / root 208454 2012-02-27 12:01 var / log / anaconda.storage.log
¿Qué estoy haciendo mal aquí?
Con xargs obtengo esta salida:
[root @ localhost /] # find var / log / -iname anaconda. * | xargs tar -cvf file1.tar
Segunda pregunta
Mientras escribe / delante de var, significa find /var/logpor qué le está dando este tar de mesaage : eliminando los principales '/' de los nombres de miembros
[root @ localhost /] # find / var / log / -iname anaconda. * -exec tar -cvf file.tar {} \;
tar: eliminando los principales '/' de los nombres de miembros
/var/log/anaconda.log
tar: eliminando los principales '/' de los nombres de miembros
/var/log/anaconda.xlog
tar: eliminando los principales '/' de los nombres de miembros
/var/log/anaconda.yum.log
tar: eliminando los principales '/' de los nombres de miembros
/var/log/anaconda.syslog
tar: eliminando los principales '/' de los nombres de miembros
/var/log/anaconda.program.log
tar: eliminando los principales '/' de los nombres de miembros
/var/log/anaconda.storage.log
En una forma simple, ¿cuál es la diferencia entre los dos siguientes?
find var/log y find /var/log
{} +lugar de {} \;eso, agrupará los resultados de find en un argumento
findcomando, debe citar el término de búsqueda. Funciona sin a veces pero no siempre.