Команда find дает такой вывод:
[root @ localhost /] # find var / log / -iname anaconda. * вар / Журнал / anaconda.log вар / Журнал / anaconda.xlog вар / Журнал / anaconda.yum.log вар / Журнал / anaconda.syslog вар / Журнал / anaconda.program.log вар / Журнал / anaconda.storage.log
После объединения с tar он показывает следующий вывод:
[root @ localhost /] # find var / log / -имя anaconda. * -exec tar -cvf file.tar {} \; вар / Журнал / anaconda.log вар / Журнал / anaconda.xlog вар / Журнал / anaconda.yum.log вар / Журнал / anaconda.syslog вар / Журнал / anaconda.program.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
почему он дает этот mesaage tar: удаление начального `/ 'из имен членов
[root @ localhost /] # find / var / log / -имя 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
командой вам следует указать поисковый запрос. Работает без порой, но не всегда.