Имея Macbook с ограниченным пространством, я приобрел портативный SSD-накопитель для хранения больших файлов и папку Dropbox. Это работает по большей части, однако я заметил, что когда я мигрировал в файловую систему на этом портативном ssd, у меня теперь было ТЫСЯЧИ файлов ._, по сути, 1 к 1. Так что если раньше у меня был файл picture.jpg, то теперь у меня также был файл ._picture.jpg 0 байт.

Проведя некоторые исследования, я обнаружил, что это связано с Mac, работающим с журнальной файловой системой, не относящейся к mac, и созданием этих файлов по причине, которую я сейчас забываю.

Поэтому я начал удалять эти файлы папка за папкой, но это заняло бы вечность. У меня есть тонны шаблонов веб-сайтов, резервных копий, веб-сайтов ... буквально тысячи крошечных файлов, теперь с этими противными ._ тенями.

Поэтому мне пришлось найти способ удалить все эти файлы. Мое решение указано ниже как ответ, который я предоставил на странице сообщества Dropbox. Но я хотел поместить этот предмет здесь, чтобы увидеть, есть ли у кого-нибудь лучший способ выполнить эту задачу.

2 ответа2

1

Я решил эту проблему первым делом, сделав полную копию моего Dropbox на другом диске. Это может занять много времени, по крайней мере, для меня, потому что я продолжаю консультировать клиентские сайты, резервные копии и т.д., Которые приводят к тысячам небольших файлов. С добавлением всех файлов ._ это удвоилось. Количество моих файлов было в диапазоне 300 000+. Однако после того, как вы сделаете резервную копию, мы можем продолжить.

Имейте в виду, этот план предполагает, что вы используете ТОЛЬКО съемный диск на Mac. Если вам нужно поделиться между файловыми системами, я сомневаюсь, что это будет работать. Я просто использую приложение Dropbox, чтобы управлять этим на других устройствах, вместо того, чтобы нуждаться в комплексной файловой системе.

  1. Закройте приложение Dropbox, если оно запущено.
  2. Сделайте резервную копию вашего дропбокса на другом диске (это может занять много времени) и будет содержать страшные файлы ._.
  3. Ради целостности, подтвердите свою резервную копию, возможно, используя утилиту / приложение сравнения папок.
  4. Отформатируйте ваш съемный диск в файловую систему Mac с журналом. Я использую Samsung Portable SSD T3 1 ТБ, отформатированный в защищенный раздел Mac OS Extenced (Journaled, Encrypted).
  5. Как только ваш новый том будет готов, откройте его в Finder.
  6. Скопируйте резервную копию в папку Dropbox
  7. Откройте Терминал вверх.
  8. Перейдите в папку Dropbox вашего нового тома, моя папка PSSSD / Dropbox, поэтому команда была:

    cd /Volumes/PSSSD/Dropbox

  9. Нервничая из-за того, что я собирался сделать с массовым удалением, я хотел получить "WhatIf" (ссылка на powershell), поэтому мы просто сделаем поиск без удаления. Мой список был огромен, поэтому я выбросил его в файл. Первая команда ниже выводится на терминал, вторая - в файл.

    find . -name '._*' find . -name '._*' > ~/Desktop/DropBox_filestodelete.txt

  10. Просмотрите список. У меня было много вещей в папке «.dropboxcache», в которых я не был уверен, стоит ли мне удалять или нет, но, играя в азартные игры, этот кеш будет просто восстановлен в случае необходимости, я решил пойти дальше и позволить ему удалить.
  11. Вот команда, которая найдет все с ._ в качестве начала файла. Обратите внимание, что если у вас есть важные файлы с таким же шаблоном, они будут удалены, и вам потребуется скопировать их из резервной копии, чтобы получить их обратно. «rm -fv» - это то, что удаляет файл, как он найден. F -fv - удалить без запроса (опасно), а v -fv - для подробного, потому что я хочу записать все файлы, которые я удалил, для справки.

    find . -name '._*' -exec rm -fv {} \; >> ~/Desktop/filesdeletedoutput.txt

  12. Эта команда удаления может занять некоторое время. Я на самом деле дважды останавливал свою работу с помощью CTRL-C, но после просмотра файла журнала обнаружил, что он все еще работает, и я просто находился в стационаре.
  13. Файлы журналов должны быть на вашем рабочем столе, если вы еще не поняли.
    Теперь запустите приложение Dropbox.
  14. Если вы использовали то же имя для отформатированного тома и папки, что и в предыдущей папке Dropbox, вероятно, Dropbox начнет "Синхронизацию" и "Индексирование".

Это займет некоторое время. У меня была проблема с перемещением папки Dropbox, когда я не мог выбрать папку с уже имеющейся папкой Dropbox, но каким-то образом мне удалось обойти это, отменив одно из предупреждений / приглашений и зайдя в Настройки / Предпочтения Dropbox.

В конечном итоге вы должны сделать Dropbox на прежнем уровне без всех надоедливых ._ файлов. Я снова предупреждаю вас при использовании rm -fv или rm-rf, так как он удалит без предупреждения, и я считаю, что нужно обойти мусорное ведро или мусорную корзину.

0

Операционная система macOS включает команду dot_clean , которая обслуживает проблемы, описанные в вашем вопросе. Страница man из macOS 10.13.3 (High Sierra) приведена ниже.

DOT_CLEAN(1)              BSD General Commands Manual             DOT_CLEAN(1)

NAME
     dot_clean -- Merge ._* files with corresponding native files.

SYNOPSIS
     dot_clean [-fmnsv] [--keep=[mostrecent|dotbar|native]] [dir ...]

DESCRIPTION
     For each dir, dot_clean recursively merges all ._* files with their cor-
     responding native files according to the rules specified with the given
     arguments.  By default, if there is an attribute on the native file that
     is also present in the ._ file, the most recent attribute will be used.

     If no operands are given, a usage message is output.  If more than one
     directory is given, directories are merged in the order in which they are
     specified.

OPTIONS
     -f      Flat merge.  Do not recursively merge all directories in the
             given dir.  This is off by default.

     -h      Help. Prints verbose usage message.

     -m      Always delete dot underbar files.

     -n      Delete dot underbar file if there is no matching native file.

     -s      Follow symbolic links.  This will follow symbolic dot underbar
             files when they are found.

     -v      Print verbose output.

     --keep=mostrecent
             The default option.  If an attribute is associated with a data
             fork, use that.  Otherwise, use information stored in the Apple-
             Double file.  Note that the native fork's data is preferred even
             if the data in the AppleDouble file is newer.

     --keep=dotbar
             Always use information stored in the AppleDouble file, replacing
             any extended attributes associated with the native file.

     --keep=native
             Always use the information associated with the data fork, ignor-
             ing any AppleDouble files.

EXAMPLES
     The following is how to do an dot_clean merge on the mounted volume test,
     always using the dot underbar information.

           dot_clean --keep=dotbar /Volumes/test

DIAGNOSTICS
     The dot_clean utility exits 0 on success, and >0 if an error occurs.

BUGS
     None known.

BSD                              Sept 27, 2012                             BSD

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .