Я пытаюсь найти команду для рекурсивного удаления всех файлов, сгенерированных Apple Mac, таких как «._» с диска. Пока что у меня есть:
find . -name '._*' -exec rm -rf {} \;
Однако, похоже, это не сработало.
Там теперь лучший способ!
Смотрите man dot_clean
начиная с OS X 10.5.
dot_clean -n .
не будет просто удалять файлы точек подчеркивания в текущем каталоге и под ним, он объединит их информацию в родительский файл, если его там еще нет (и я предполагаю, что вы хотите -n
также удалить файл точек подчеркивания, если его нет соответствующий нативный файл).
Использование точки в качестве первого аргумента начинается в каталоге, в котором вы находитесь.
Если вы хотите найти все файлы, начинающиеся с ._, вы должны использовать косую черту в качестве первого параметра, чтобы поиск начинался в корневом каталоге.
И поскольку некоторые из этих файлов не будут принадлежать вам, вы можете также использовать команду suso.
Итак, полная команда выглядит так:
sudo find / -name "._*" -exec rm -rf {} \;
По крайней мере, для меня это всегда помогает. Если вы пропустите часть -exec, вы увидите список всех файлов, так что вы можете запустить его сначала, чтобы увидеть, найдены ли все файлы, которые вы ожидаете.
находить . (-name '._ *') -exec rm {} -rf \; должно сработать
Я не знаю, отличается ли он в OSX от bash.
Я знаю: этот пост устарел. Во всяком случае я пишу здесь, потому что это первый, что я нашел! У меня была та же проблема с учетной записью Dropbox, которую я использовал на Mac OSX, теперь перенесен на Windows / Linux Ubuntu. Используя bash (мой - это Cygwin64 bash), я набрал в своей папке Dropbox:
find . -regex '.+/\._.+' -exec rm {} \;
Обратите внимание, что -rf был удален из вышеупомянутых решений. «._» должны быть только файлами, поэтому не добавляйте слишком много полномочий в команду rm! ;)