MBP 的内存告急了,于是我整了一个 SSD 移动硬盘。由于我给硬盘整的格式是 ExFAT 导致将电脑中的文件移动进去之后就产生大量 .DS_Store 文件和 ._ 为开头的文件。一个一个删?我敲,好几十 G 呢。

一个命令轻松解决 Mac 移动文件后产生的大量 ._.DS_Store 文件,Linux 遍历文件夹-天真的小窝

rm -rf ._* 整吧,可是也不能遍历目录呀…

于是我找到了 findxargs 这两个好兄弟

find . -name "._*"  | xargs rm -f

删几个文件夹还没问题,但是当我开始整理我的代码目录的时候直接给我罢工了,说我的文件目录过多

xargs: rm: Argument list too long

把命令优化一下

find . -name "._*" -exec rm -f {} train \;

find . -name "._*" 是指在当前文件夹下查找名为 ._* 的文件。

xargs 命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。-i 会将 xargs 的内容赋值给 {}

-exec 参数后面是指执行其后面的命令,-exec; 为结尾,由于各个系统中分号的意义不同,因此用 \ 进行转义,即 \;{} 会被 find 命令的结果替换。


这下没问题了,美滋滋。

如果使用 mv 或者 cp 命令遇到同样的问题也可以这样解决哦。