Команда, указанная для -exec
, запускается один раз для каждого найденного файла.Таким образом, вы воссоздаете dirall.tar при каждом запуске команды.Вместо этого вы должны передать вывод команды find в tar.
find /tmp/a1 -print0 | tar --null -T- -cvf dirall.tar
Обратите внимание, что если вы просто используете find
, чтобы получить список всех файлов в /tmp/a1
и не выполняете никаких действийфильтруя, гораздо проще использовать tar -cvf dirall.tar /tmp/a1
.