7

Скрытые файлы и папки , как .fseventsd и .Trashes сбрасываются на мою флешку каждый раз, когда я подключаю ее к своему Mac ...

Как мне не допустить этого?

Связано с тем, как отключить создание.Прожектор-V100 а.Папки для мусора на внешнем диске? и не позволяйте MacOS создавать файлы. * и ._ * !

2 ответа2

1

В Macworld есть статья, описывающая способ удаления скрытых файлов Mac-точек. Подсказки предлагают изменить скрипт размонтирования по умолчанию. Будьте внимательны, потому что скрипт может удалить другие скрытые файлы, такие как .bashrc, которые вы можете захотеть.

http://hints.macworld.com/article.php?story=20110204124029798

0

Мне нравится общая концепция в статье Macworld, на которую ссылается @Dave, но я не хочу разыскивать намеренно размещенные скрытые файлы или папки (особенно .git или .svn), и я хочу очистить файловые системы не-msdos, а также dos ,

Обратите внимание, что это приведет к удалению / уничтожению ваших файлов по сценарию, поэтому я рекомендую вам делать это только в том случае, если вы достаточно хорошо понимаете, что делает этот сценарий, и у вас все в порядке с потенциальным беспорядком.

Я взял предложенный сценарий и изменил его, как показано ниже. Как они там сказали, перед редактированием убедитесь, что sudo mv /sbin/umount /sbin/umount-orig (чтобы этот скрипт мог вызвать исходный umount). После редактирования sudo chmod 555 /sbin/umount и sudo chown root:wheel /sbin/umount .

#!/bin/sh --
loggerTag='umount-wrapper'

(
  if [ "$@" ]; then
    for i in "$@"; do
      echo $i
    done

    echo "cleaning mounted filesystem before running umount-orig..."
    rm -rf "$1"/._*
    rm -rf "$1"/.Trash*
    rm -rf "$1"/.Spotlight*
    rm -rf "$1"/.DS_Store
    rm -rf "$1"/.fseven*
  fi
) | logger -st $loggerTag

/sbin/umount-orig "$@"

Для справки (в случае, если ссылка исчезла), оригинал сказал использовать следующее для очистки, но в зависимости от типа файловой системы:

    fstype=`diskutil info "$1" | sed 's/ //g' | grep '^Type:' | cut -d':' -f2`

    echo "fstype is ${fstype}"

    if [ "$fstype" = "msdos" ]; then
      echo cleaning msdos filesystem...
      find "$1" -depth -name '.[^.]*' -print -exec /bin/rm -fr {} \;
    else
      echo not msdos, skipping to umount...
    fi

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