rm -rf 总有眼花的一天 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
cstj0505
V2EX    程序员

rm -rf 总有眼花的一天

  •  
  •   cstj0505 2019-04-03 13:56:10 +08:00 10337 次点击
    这是一个创建于 2384 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 home 目录下敲了个 rm -rf * logs/ 刚午睡醒,脑子还不是很清醒,然后世界就清净了。

    不过由于有惨痛教训, 大部分文档都在 /document 目录 大部分代码都在 /workspace 目录

    不过什么 Downloads,Document,Picture 里面的东西全没了

    79 条回复    2019-05-08 09:15:08 +08:00
    lupo
        1
    lupo  
       2019-04-03 13:59:21 +08:00 via Android
    zlccn
        2
    zlccn  
       2019-04-03 14:00:34 +08:00 via iPhone
    这酸爽...
    imaning
        3
    imaning  
       2019-04-03 14:02:02 +08:00   8
    节哀,三年前与你一样眼花过,多敲了一个空格,rm -rf / home
    cstj0505
        4
    cstj0505  
    OP
       2019-04-03 14:05:46 +08:00
    @imaning 我也是两年前切目录敲错了,没切过来,在 home 目录下执行了 rm -rf *
    之后文档代码都到根目录了
    oldcat0314
        5
    oldcat0314  
       2019-04-03 14:06:34 +08:00
    ......提神醒脑的好助手~
    aimerforreimu
        6
    aimerforreimu  
       2019-04-03 14:07:00 +08:00 via Android
    快用硬盘恢复工具救一下吧,前几天我也删了一次
    di94sh
        7
    di94sh  
       2019-04-03 14:07:55 +08:00 via Android
    把 rm 改成 mv 吧
    xoxo419
        8
    xoxo419  
       2019-04-03 14:08:01 +08:00
    通过目录分析, 你用的是 tp 框架?
    dswill
        9
    dswill  
       2019-04-03 14:08:48 +08:00
    我猜想,你是跑路。 删库跑路, 兄 dui,哈哈。
    cstj0505
        10
    cstj0505  
    OP
       2019-04-03 14:12:27 +08:00
    @oldcat0314 是啊,删完脑袋无比清醒,高速运转分析损失。发现只是平时的一些工作暂存文档还有 eclipse 工具等,vim 邮件和一些别的隐藏目录和文件都在,安心多了
    cstj0505
        11
    cstj0505  
    OP
       2019-04-03 14:13:26 +08:00
    @aimerforreimu 上次恢复过,文件名都乱码,算了
    omph
        12
    omph  
       2019-04-03 14:13:39 +08:00
    [rm-protection: A safe alternative for "rm".]( https://github.com/alanzchen/rm-protection)
    cstj0505
        13
    cstj0505  
    OP
       2019-04-03 14:14:13 +08:00
    @dswill 真不是啊,我自己工作机器
    root 用户还是 bash,rm 没提示,回车下去就没了
    cstj0505
        14
    cstj0505  
    OP
       2019-04-03 14:15:30 +08:00
    @di94sh 做好数据分离损失不大,mv 改了还要自动清空间,弄起来太折腾
    ZRS
        15
    ZRS  
       2019-04-03 14:36:11 +08:00
    常在河边走 哪能不湿鞋...
    faceair
        16
    faceair  
       2019-04-03 14:38:25 +08:00   6
    brew install trash
    alias rm trash
    openbsd
        17
    openbsd  
       2019-04-03 14:42:45 +08:00   10
    有同事问 为啥你两个字母的文件夹都要用 Tab 补全
    我笑而不语
    limbo0
        18
    limbo0  
       2019-04-03 14:47:47 +08:00 via Android
    mac 可以时间机器可以恢复,linux 还是 alias 预防吧
    hhyvs111
        19
    hhyvs111  
       2019-04-03 14:58:54 +08:00
    @faceair 谢谢,已改
    huqf10177225
        20
    huqf10177225  
       2019-04-03 15:09:50 +08:00
    哈哈哈哈,常在河边走,哪有不湿鞋,rm -rf *这个错误.我也犯过一次,吓死了
    ragnaroks
        21
    ragnaroks  
       2019-04-03 15:21:21 +08:00   1
    @openbsd 我也是敲 1 个首字母开始补全
    nicoljiang
        22
    nicoljiang  
    PRO
       2019-04-03 15:28:21 +08:00
    去年在服务器上 rm -rf /data 了
    no1xsyzy
        23
    no1xsyzy  
       2019-04-03 15:35:21 +08:00   2
    千万别依赖 alias,这个有更惨痛的事故。

    唯一的办法是所有 rm 前多检查,甚至输完后回车前上个厕所倒杯咖啡。
    大型 enter 键有奇效。

    另外,多备份。
    a22124497
        24
    a22124497  
       2019-04-03 15:38:50 +08:00
    只要没跑路,说明问题不大
    cstj0505
        25
    cstj0505  
    OP
       2019-04-03 15:46:07 +08:00
    @no1xsyzy 请问下 alias 为啥不好
    no1xsyzy
        26
    no1xsyzy  
       2019-04-03 15:47:46 +08:00   4
    @cstj0505 在没有 alias 的机器上以为有 alias,因此忽视了检查,核心在 “依赖”。
    tourist2018
        27
    tourist2018  
       2019-04-03 15:48:00 +08:00
    我之前也删除过一次
    SmiteChow
        28
    SmiteChow  
       2019-04-03 16:09:05 +08:00
    这时候就考验你按 Ctrl+C 的速度了和反应了
    nanaw
        29
    nanaw  
       2019-04-03 16:16:18 +08:00
    我就不明白,你们不加-f 行么,多一步真的很麻烦吗?
    knightdf
        30
    knightdf  
       2019-04-03 16:21:50 +08:00
    @nanaw 几千个文件的话你准备按 y 按到天荒地老么
    qianyiyu98
        31
    qianyiyu98  
       2019-04-03 16:22:09 +08:00
    看见标题就毫不犹豫地点进来了,果然没让我失望
    zyp0921
        32
    zyp0921  
       2019-04-03 16:25:24 +08:00
    惨痛教训, 当时多敲了个空格 rm -rf / tmp/。。。
    anzu
        33
    anzu  
       2019-04-03 16:38:26 +08:00
    必须依赖 alias
    alias del="trash-put"
    alias rm="echo \"Use 'del', or prepend a slash to bypass the alias\""
    v2chou
        34
    v2chou  
       2019-04-03 16:44:19 +08:00
    @imaning 不厚道的笑了
    v2chou
        35
    v2chou  
       2019-04-03 16:47:42 +08:00
    兄弟们 不说说怎么避免吗 安全删除文件文件夹
    sola97
        36
    sola97  
       2019-04-03 16:53:04 +08:00 via Android
    我一般习惯性的敲两下 tab 看看反应对不对
    zgcwkj
        37
    zgcwkj  
       2019-04-03 16:54:46 +08:00
    没事,大不了在来一次!(下次注意点吧)
    chocotan
        38
    chocotan  
       2019-04-03 16:57:40 +08:00
    我也不小心删过一次,还好反应快 ctrl+c 了,但已经有部分文件被删掉了
    z775781
        39
    z775781  
       2019-04-03 16:59:48 +08:00
    我一般是 rm -rf /xxx/ 然后敲完会耐心看一下后面,已经玩怕了
    creanme
        40
    creanme  
       2019-04-03 17:05:21 +08:00
    @v2chou 把 rm 替换成 mv。固定移动到一个目录,定期自动清除里面的东西。
    onepiece5568
        41
    onepiece5568  
       2019-04-03 17:09:21 +08:00
    我如果要删一个文件夹,进这个文件夹目录输 pwd 把当前路径复制过去,再 rm -rf
    zxcvsh
        42
    zxcvsh  
       2019-04-03 18:15:01 +08:00 via iPhone
    Linux 命令确实很提神,最开始杀个进程都要看半天
    lusi1990
        43
    lusi1990  
       2019-04-03 18:28:46 +08:00 via Android
    过两年就麻木了,多备份是王道
    yingfengi
        44
    yingfengi  
       2019-04-03 19:38:45 +08:00 via Android
    @openbsd Tab 还能这么用。。。。学到了,Get√
    liangdu
        45
    liangdu  
       2019-04-03 19:50:36 +08:00 via Android
    chmod -rf 000 / 恢复系统不就可以了吗
    HangoX
        46
    HangoX  
       2019-04-03 20:22:08 +08:00
    问问大家,rm 就没有预运行这个参数吗?我看 git clean --dry-run 可以告诉你清除什么文件,但是 rm 我没找到
    fox0001
        47
    fox0001  
       2019-04-03 20:27:11 +08:00 via Android
    论自建服务器的重要性。图片文档都放在私人云盘,代码自建 git。手机、电脑都是客户端般的存在
    szkoda
        48
    szkoda  
       2019-04-03 20:31:28 +08:00
    alias rm trash
    拯救了无数手贱的时候。。
    mskf
        49
    mskf  
       2019-04-03 21:25:01 +08:00
    update t_XXX SET... 回车!唉,where 好像忘了写了
    akira
        50
    akira  
       2019-04-03 21:48:07 +08:00
    按 r 不按 f
    宁愿一个个目录确认删除
    liquor233
        51
    liquor233  
       2019-04-03 22:42:52 +08:00
    @imaning 这也太好笑了吧
    24owls
        52
    24owls  
       2019-04-03 22:44:21 +08:00 via iPad
    前些日子也在 home 目录里 rm -rf * 了一次,本来是想删除一个子目录,错误的以为自己已经 cd 进去了,幸亏及时反应过来止住了。
    清点损失的时候发现,由于我都是把数据存放在 /data 里面,home 里只放了几个到 /data 里面的 symlink,其实只删掉了一些 local 里面的一些程序( npm modules, python env 之类的),dot files 都还在,数据也只要 symlink 回去就行了。
    从此发现了 symlink 的好处
    SharkIng
        53
    SharkIng  
       2019-04-04 04:25:53 +08:00
    为什么不用 `rm -rI` 呢?
    Hallelu
        54
    Hallelu  
       2019-04-04 08:43:31 +08:00 via iPhone
    貌似也是一年前这个期间,我也眼花了下...
    kylechou94
        55
    kylechou94  
       2019-04-04 08:53:11 +08:00 via iPhone
    用 mv 移动要删除的到 tmp 文件夹,归档一个月删除
    cstj0505
        56
    cstj0505  
    OP
       2019-04-04 09:09:14 +08:00
    @no1xsyzy 哈哈,这个才是最悲催的
    shm7
        57
    shm7  
       2019-04-04 09:10:40 +08:00 via iPhone
    书里面都讲了,你先 ls 一下,再找 history 把 ls 改掉
    cstj0505
        58
    cstj0505  
    OP
       2019-04-04 09:13:37 +08:00
    @24owls 我现在就这样的,home 目录下只用作平时临时文档,代码,工具存储的地方,重要的一律在根目录下建目录存放。
    这也是两年前和你一样切目录没切过去把 home 清了的教训
    wineast
        59
    wineast  
       2019-04-04 10:15:43 +08:00
    自从出过一次事故以后,现在都是用 rmtrash,https://github.com/PhrozenByte/rmtrash,类似加了个 windows 回收站的概念
    zzlit
        60
    zzlit  
       2019-04-04 10:41:35 +08:00
    我是来学习抢救措施的
    TingHaiJamiE
        61
    TingHaiJamiE  
       2019-04-04 10:42:07 +08:00
    下午不清醒的时候在自己的电脑上执行过,rm -rf / ,漏了一个点
    看到权限问题之后加上了 sudo...几秒后意识到问题...
    mostkia
        62
    mostkia  
       2019-04-04 10:42:22 +08:00
    多备份吧,我这边都是每天备份的,而且挂载盘每次备份完成之后自动断开。当然也可以使用楼上几位说的方案,吧 rm 换成 mv,把将要删除的文件存放到类似回收站的地方,然后写个计划任务定时删除,这样也有挽留的余地。
    glacer
        63
    glacer  
       2019-04-04 10:44:40 +08:00
    alias cd='rm -rf'
    LichMscy
        64
    LichMscy  
       2019-04-04 10:45:06 +08:00
    foolyf
        65
    foolyf  
       2019-04-04 10:50:41 +08:00
    前几天,删文件。脑子一抽。输入了个 rm -rf /. 看了几秒中 bash,立刻 command + C. 吓出一身冷汗。还好是自己的电脑....
    Mutoo
        66
    Mutoo  
       2019-04-04 10:57:49 +08:00
    最搞笑的这个:
    https://stackoverflow.com/questions/55323391/delete-database-accidentally-by-a-bash-rescue-please
    题主手下的开发把 shell 注释写成 //

    OUT_DIR = /tmp/data // 注意这玩意儿不是注释
    rm -rf $OUT_DIR/* // 于是这里杯具了
    ys0290
        67
    ys0290  
       2019-04-04 11:04:55 +08:00 via iPhone
    还是要多干这种事,以后就记住了,形成条件反射了
    695975931
        68
    695975931  
       2019-04-04 11:19:25 +08:00
    windows 服务器表示木有这个问题。
    retroxs
        69
    retroxs  
       2019-04-04 11:22:03 +08:00 via iPhone
    alias rm=trash
    lrvy
        70
    lrvy  
       2019-04-04 11:22:08 +08:00
    安装个 trash-cli  
    # 用 trash-cli 包的 trash 命令软链接到 rm 上,改为移动到 Trash,防止误删除
    alias rm=trash
    cirton
        71
    cirton  
       2019-04-04 11:28:32 +08:00
    避免办法就是不要午睡!
    Stlin
        72
    Stlin  
       2019-04-04 11:37:26 +08:00
    rm -rf 的时候 路径都是 tab 出来的 防止打错
    upczww
        73
    upczww  
       2019-04-04 11:37:31 +08:00 via Android
    @glacer 你是魔鬼吗
    mxalbert1996
        74
    mxalbert1996  
       2019-04-04 11:44:37 +08:00 via Android
    $ rm -rf /*
    zsh: sure you want to delete all 37 files in / [yn]?
    zsh 大法好
    lleony
        75
    lleony  
       2019-04-04 11:53:22 +08:00 via Android
    @lrvy 已经替换,现在舒服多了
    Fraotisc
        76
    Fraotisc  
       2019-04-04 11:56:45 +08:00 via Android
    可以装个 safe-rm,这个应用会阻止你删除系统文件夹的
    ACool
        77
    ACool  
       2019-04-04 12:30:25 +08:00 via Android
    每次敲 rm 的时候,参数放在最后,例:rm logs/ -rf
    Kobayashi
        78
    Kobayashi  
       2019-05-07 14:04:12 +08:00
    @Mutoo 你链接里这个骚操作确实厉害。我再来补充几个更吊的。

    这个 .bash_history 不错,我来 source 一下它。t/527839

    在 .zshrc 内 `echo "foobar" >> ~/.zshrc`. 我这配置文件自己会长大?破 ZSH,老子不用了。t/501245
    cstj0505
        79
    cstj0505  
    OP
       2019-05-08 09:15:08 +08:00
    @Kobayashi 哈哈哈哈,哪位老哥承包我一天笑点
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2820 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 13:14 PVG 21:14 LAX 06:14 JFK 09:14
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86