Команда find дає такий вихід:
[root @ localhost /] # знайти var / log / -іна анаконда. * 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
Після поєднання з дьогтем він показує такий вихід:
[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
Але перераховуючи файл tar, він показує лише один файл
[root @ localhost /] # tar -tvf file.tar -rw ------- root / root 208454 2012-02-27 12:01 var / log / anaconda.storage.log
Що я тут роблю неправильно?
З xargs я отримую цей вихід:
[root @ localhost /] # find var / log / -iname anaconda. * | xargs tar -cvf file1.tar
Друге питання
Вводячи / перед var, означає, find /var/logчому він надає цей месааг- тар: Видалення провідної `/ 'з імен учасників
[root @ localhost /] # find / var / log / -iname anaconda. * -exec tar -cvf file.tar {} \;
tar: видалення провідних `/ 'з імен членів
/var/log/anaconda.log
tar: видалення провідних `/ 'з імен членів
/var/log/anaconda.xlog
tar: видалення провідних `/ 'з імен членів
/var/log/anaconda.yum.log
tar: видалення провідних `/ 'з імен членів
/var/log/anaconda.syslog
tar: видалення провідних `/ 'з імен членів
/var/log/anaconda.program.log
tar: видалення провідних `/ 'з імен членів
/var/log/anaconda.storage.log
У простому вигляді яка різниця між наступними двома?
find var/log і find /var/log
{} +замість {} \;нього, групуйте результати пошуку в один аргумент
findкоманду, слід вказати пошуковий термін. Це працює без інколи, але не завжди.