Команда 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командой вам следует указать поисковый запрос. Работает без порой, но не всегда.