如何防止 Mac OS X 在我的闪存驱动器上保存隐藏文件?

如何防止 Mac OS X 在我的闪存驱动器上保存隐藏文件?

每次我将闪存驱动器插入 Mac 时,诸如、、、和等隐藏文件和文件夹都会被.fseventsd转储.Spotlight-V100.TemporaryItems其中…….Trashes

我怎样才能阻止它这样做?

相关如何禁用在外部驱动器上创建 .Spotlight-V100 和 .Trash 文件夹?防止 MacOS 生成 .* 和 ._* 文件

答案1

Macworld 上有一篇文章介绍了一种删除隐藏的 Mac 点文件的方法。提示建议修改默认卸载脚本。请小心,因为该脚本可能会删除您可能需要的其他隐藏文件,例如 .bashrc。

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

答案2

我喜欢Macworld 文章由@Dave引用,但我不想删除故意放置的隐藏文件或文件夹(尤其是.git或.svn),并且我想清理非msdos文件系统以及dos。

请注意,这将导致脚本删除/破坏您的文件,因此我建议您只有在非常理解此脚本的作用并且可以接受潜在的混乱的情况下才执行此操作。

我采用了他们建议的脚本,并按照如下所示进行了更改。正如他们所说,在编辑之前,请确保sudo mv /sbin/umount /sbin/umount-orig(以便此脚本可以调用原始的 umount)。编辑后,sudo chmod 555 /sbin/umountsudo chown root:wheel /sbin/umount

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

  如果 [ “$@” ]; 那么
    对于我在“$@”中;做
      回显$i
    完毕

    echo “在运行 umount-orig 之前清理已挂载的文件系统...”
    rm -rf "$1"/._*
    rm -rf "$1"/.垃圾*
    rm -rf "$1"/.Spotlight*
    rm -rf "$1"/.DS_Store
    rm -rf "$1"/.fseven*
)| 记录器-st $ loggerTag

/sbin/umount-orig“$@”

作为参考(以防链接消失),原文说使用以下内容进行清理,但取决于文件系统类型:

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

    echo "fstype 是 ${fstype}"

    如果 [ “$fstype” = “msdos” ]; 然后
      回显清理 msdos 文件系统...
      找到“$1”-depth -name'。[^.]*'-print -exec /bin/rm -fr {} \;
    别的
      echo 不是 msdos,跳过 umount...

相关内容