Eu gosto do conceito geral no artigo da Macworld referenciado por @Dave, mas eu não quero nuke intencionalmente colocados arquivos ocultos ou pastas (especialmente .git ou .svn) e eu quero limpar sistemas de arquivos não-msdos, bem como dos.
Observe que isso causará a exclusão / destruição de seus arquivos por script. Por isso, recomendo que você faça isso apenas se entender o que esse script faz e se estiver bem com o potencial caos.
Eu peguei o script sugerido e mudei como mostrado abaixo. Como eles disseram lá, antes de editar certifique-se de sudo mv /sbin/umount /sbin/umount-orig
(então este script pode invocar o umount original). Após a edição, sudo chmod 555 /sbin/umount
e 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 "$@"
Para referência (caso o link desapareça), o original disse para usar o seguinte para limpar, mas dependendo do tipo de sistema de arquivos:
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