GNU 'tar' выполняет 'статистику' на исключенном каталоге. Действительно ли это нормально?

Используя find вероятно, лучший выбор. Некоторые проблемы с другими ответами или не удаляют все в каталоге или удаляют сам каталог. Можно или использовать ls с xargs, при отсутствии специальных символов, или find с определенными опциями.

ls -1 | xargs rm -r

или

find . -depth -path ./.* -prune -o -not -name . -delete

Это проигнорирует что-либо в текущем каталоге, запускающемся с . (-prune) и удалит любой другой файл или каталог, пока это не главный каталог (.). -depth посмотрит в каталогах сначала, которые избегут 'каталога не пустая' ошибка. Если -not аргумент не доступен в Вашей системе, затем используйте !.

4
13.04.2017, 15:36
1 ответ
tar: home/elena/.gvfs: Cannot stat: Permission denied

Заметьте, что сообщение об ошибке не включает ведущую наклонную черту. Попробовать --exclude=home/elena/.gvfs без наклонной черты.

0
27.01.2020, 21:05
  • 1
    Спасибо, но я не могу. Иначе шаблон мог соответствовать подкаталогам на каждом уровне, и я не хочу это. –  Elena 12.07.2013, 16:07
  • 2
    Затем Вы не можете исключить его. –  tripleee 12.07.2013, 16:09
  • 3
    Следовательно tar не допускает мелкомодульное управление на том, какие каталоги и файлы оказываются в архиве? –  Elena 12.07.2013, 16:26
  • 4
    Не отдельно, насколько я понимаю документацию. Обходное решение к find | grep - v stuff | xargs tar или некоторое приближение этого. –  tripleee 12.07.2013, 17:23
  • 5
    @Elena, также добавляющая опцию --anchored. Чем соответствовал бы начальной части пути даже без наклонной черты. –  eppesuig 12.07.2013, 18:26

Теги

Похожие вопросы