在工作中,我们都使用 Mac,并设置了 SMB 文件服务器。
不知何故,奇怪的隐藏文件不断出现,尤其是在我们的 Mac 和文件服务器之间同步时。我不知道是什么创建了它们以及为什么创建它们。对于名为 index.html 的文件,名为 的隐藏文件。index.html 已创建。有时文件夹中的所有文件都有。等价物,例如 bear.jpg 也将作为一个名为 ._bear.jpg 的隐藏文件存在。
现在,这些隐藏文件不是问题,直到您开始复制文件夹,或执行 rar/zip 操作,或使用版本控制系统。您不希望这些隐藏文件扰乱系统。
谁知道这些文件为什么在这里,以及是否有一个命令可以递归地从文件夹中删除这些文件?
这是一个例子:第三个文件 ._index.html 是由某些东西创建的,但我不知道是什么或为什么。
total 16
drwx------ 7 wolfr staff 238 Dec 9 13:34 .
drwx------ 5 wolfr staff 170 Dec 9 13:17 ..
-rwx------ 1 wolfr staff 4096 Dec 9 13:34 ._index.html
drwx------ 14 wolfr staff 476 Dec 9 13:27 css
drwx------ 6 wolfr staff 204 Dec 9 13:27 images
-rwx------@ 1 wolfr staff 3520 Dec 9 13:34 index.html
drwx------ 4 wolfr staff 136 Dec 9 13:27 js
这是我用来递归删除 .svn 文件的命令,我如何修改它以递归删除与 ._* 匹配的文件?
find . -type d -name '.svn' -print0 | xargs -0 rm -rdf
编辑:我猜命令是
find . -name '._*' -print0 | xargs -0 rm -rdf
答案1
这就是 MacOS 存储元数据的方式。当使用常规 Mac (HFS) 文件系统时,这些元数据由文件系统本身存储在文件的属性中。但在 FAT 或 SMB 中没有为此保留空间,因此 OS X 会绕过它并创建 ._ 文件...
此命令将递归删除它们:
find . -type f -name '._*' -delete