find /var/www/html/sorry/cache/ -cmin +1 -exec rm -f '{}' ;
写了一个删除缓存的命令,没有用通配符去匹配具体的某一类文件,结果没想到.和..两个隐藏文件夹,递归的把文件都删除了。。
现在看了一下,/root/ 下的所有文件都没了,/ 根目录下的好像幸免于难。。目前可以正常使用,但是我不敢重启了。。
也有可能只删除了 /root/目录下的文件?
常在河边走,终于湿鞋了
![]() | 1 diveIntoWork OP 我好蠢,直接用 ls 就好了。 |
![]() | 2 nosay 2018-03-24 17:07:27 +08:00 via iPhone /root 下本来就没有什么东西吧… |
3 FindBoyFriend 2018-03-24 17:11:13 +08:00 /root 系统好像没放文件在里面吧? |
![]() | 4 wangbenjun5 2018-03-24 17:14:03 +08:00 这种删除命令还是少用为好,用之前请反复确认 |
![]() | 5 privil 2018-03-24 17:16:43 +08:00 via iPhone type f |
6 WordTian 2018-03-24 17:16:45 +08:00 via Android 有一些,比如.bashrc 等,但是这种文件不一定就被删了,就算删了,影响也不大 |
![]() | 7 diveIntoWork OP |
![]() | 8 songz 2018-03-24 17:38:26 +08:00 那正确的命令应该怎么写啊? |
![]() | 9 ferock PRO 为什么要用递归。。。就像一楼自己说的,ls 不就行了吗? |
![]() | 10 diveIntoWork OP @ferock 大概是短路了 |
![]() | 11 likuku 2018-03-24 18:05:17 +08:00 ![]() 论不要使用 root 账号作事情 /创建文件 的重要性... |
12 xpresslink 2018-03-24 18:05:39 +08:00 正确的写法应当是 rm -Rf / 么? |
![]() | 13 likuku 2018-03-24 18:06:14 +08:00 如此这般,/root 下就没啥重要的文件了 |
![]() | 14 Qoxan 2018-03-24 18:07:42 +08:00 via iPhone ![]() find (dir) -mindepth 1 -maxdepth 1 …… 再加其它参数,就不会误删其他目录的东西了 |
![]() | 15 chinvo 2018-03-24 18:08:24 +08:00 看不明白为啥用 find ls 不好么 |
![]() | 16 akira 2018-03-24 18:31:52 +08:00 删除的动作 再怎么小心也不为过。 除了文件 还是数据库的删除指令也是 |
![]() | 17 geelaw 2018-03-24 18:36:23 +08:00 via iPhone ![]() 请自觉学习 -WhatIf |
18 laoyur 2018-03-24 20:09:42 +08:00 所以,不会用 find 命令的表示很欣慰 |
![]() | 19 diveIntoWork OP |
![]() | 20 angelface 2018-03-24 21:28:22 +08:00 ![]() 建议你把 rm 用 mv 替换,然后定期清理, |
![]() | 21 liangzi 2018-03-24 22:32:41 +08:00 via Android 我曾经也是用 find exec 差点误删除了 幸亏有权限限制 要不然惨大了 (捂脸)逃。。。。 |
22 加上文件名通配,先 ls,确认了再 rm |
23 l1093178 2018-03-24 22:49:29 +08:00 0.跑 find 之前应该用 -print 看看匹配到的文件 1. find 可以直接 delete (-delete 参数),这是最安全的方式,不会因为文件名中间的空格误删其他文件 |
![]() | 24 ryd994 2018-03-24 23:14:35 +08:00 你的意思是说,你 /var/www/html/sorry/cache/ 里有. 和 ..两个文件?你该庆幸那里没有~ 楼上说的对,问题在于你没用-delete |
![]() | 25 lan894734188 2018-03-25 04:03:48 +08:00 via Android 脚本从来不敢用删除 |
![]() | 26 slack 2018-03-25 07:29:16 +08:00 via Android 手残党们了解一下 https://linux.cn/article-9425-1.html |
![]() | 27 goreliu 2018-03-25 08:24:48 +08:00 find 怎么会通过 .. 目录访问到上一层?那不是 find 什么目录都相当于全盘遍历了。是不是命令记错了。 |
![]() | 28 dongxf 2018-03-25 10:38:03 +08:00 楼上说的对,find 找不出‘.’ 和 ‘..’ 楼主的锅,find 不背 |
![]() | 29 sutra 2018-03-25 13:35:06 +08:00 man rescue 了解一下? |
![]() | 30 fhefh 2018-03-25 13:45:25 +08:00 生产环境的机器 我一般重命名 宁愿占位置 也不删除~~ |
31 shihira 2018-03-25 17:12:00 +08:00 以后 rm 都要 dry run 一遍才敢运行了 |