我是在移动硬盘一个 fat32 分区里面( cd /Volumes/fat32 ),想删除某个文件夹内以 "._" 开头的文件,然后就执行了以下命令:
sudo find . -name "._*" -exec rm -rf {} \;
等待的时间比较长,就想着去别的目录( /data )干点事,然后发现 /data 目录不见了!!然后 cd /,发现 / 也不见了!!
结果就是我用 time machine 恢复到昨天的版本了(今天 time machine 没跑)。
问题来了,这条命令出啥问题了?之前在 Linux 下用过这命令没问题啊。命令应该没输错,我是复制的。
|      1xuyinan503      2015-11-22 21:05:41 +08:00  1 没找到 ._开头的文件,得到空 然后就执行了 rm -rf ? | 
|  |      2crayygy      2015-11-22 21:33:13 +08:00  1 不要乱执行 rm -rf ,任何时候再执行这个操作的时候都应该三思 | 
|  |      3hicdn      2015-11-22 21:37:26 +08:00  6 批量删除一般都是 ls|find|grep 重定向 /tmp/xx.txt 确认一遍后再 cat /tmp/xx.txt|xargs rm -rf | 
|  |      5wolfan      2015-11-22 21:47:32 +08:00 via Android  1 … 我好像一直在用这条命令删东西,到现在还没出过事真是感动啊😉 | 
|      7v1024      2015-11-22 22:02:22 +08:00  1 骚年,用 trash 保平安。 | 
|  |      8cxh116      2015-11-22 22:11:44 +08:00  1 看命令本身没有问题. 有可能是 bsd 的命令行 bug. 碰到几次用 7z 解压 zip 出来乱码.然后用 ls grep xargs 等命令组合起来就是删除不掉.总是有字符转义问题. 有可能是你的要删除掉的文件名有一些特殊字符,最终某行被解析成 rm -rf /. rm -rf 别乱用 sudo.更别乱 su - root 执行 rm -rf | 
|  |      9yanw OP | 
|  |      10cxh116      2015-11-22 22:15:31 +08:00  1 @cxh116 可以在 mac 下运行这样的命令测试 cd /tmp/ touch "a b" find . -name "a b"| xargs rm 报这样的错 rm: ./a: No such file or directory rm: b: No such file or directory | 
|  |      12cxh116      2015-11-22 22:23:25 +08:00 @cxh116 测试了一下,linux 也有此问题.应该是用法不对,特殊字符需要加特殊参数对待. http://stackoverflow.com/questions/16758525/use-xargs-with-filenames-containing-whitespaces | 
|  |      14crayygy      2015-11-22 22:41:51 +08:00 其实 Adobe 才是真正的防 rm -rf  利器 :doge | 
|  |      15lululau      2015-11-22 22:52:16 +08:00 via iPhone  1 用 find dir -other-opts -delete 代替 -exec rm {} \; | 
|      19iphone7166      2015-11-23 01:45:29 +08:00  1 find . -name "._" -print 确认后 find . -name "._*" -delete | 
|  |      20WildCat      2015-11-23 08:40:53 +08:00 via iPhone  2 brew install trash alias rm="You should use 'del' instead." alias del="trash" | 
|  |      21dorentus      2015-11-23 11:59:51 +08:00 rm 文件不要加 -rf 啊 | 
|  |      22hyq      2015-11-23 14:17:19 +08:00  1 名字里面有空格? dot_clean 可以删除那些点文件 | 
|  |      23JerningChan      2015-11-24 16:44:12 +08:00 你应该这样的,到去你的目的盘 rm -rf ._* 这样就好了嘛... 为毛要写的这么繁杂? | 
|  |      24JerningChan      2015-11-24 16:46:51 +08:00 而且._* 这类文件好像是 mac 的 spotlight 产生的吧? 完全没必要删了呀 |