就在刚刚, rm -rf 删软连接的时候后面多加了个/,现在杯具了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
hunterJax
V2EX    程序员

就在刚刚, rm -rf 删软连接的时候后面多加了个/,现在杯具了

  •  
  •   hunterJax 2019-12-20 17:43:39 +08:00 8406 次点击
    这是一个创建于 2123 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一不小心手抖,rm -rf server/ 直接敲了回车。 整个文件夹被删 像这种情况能恢复吗? 有没有什么好的方式避免出现这种错误?

    37 条回复    2019-12-21 17:18:23 +08:00
    kokutou
        1
    kokutou  
       2019-12-20 17:46:16 +08:00 via Android   1
    alias rm to mv
    szuwl
        2
    szuwl  
       2019-12-20 17:53:05 +08:00 via Android
    @kokutou 狠毒
    KentY
        3
    KentY  
       2019-12-20 17:57:00 +08:00   6
    1. 你删个连接(file), 为什么要 -r?
    2. 为什么要-f
    3. 你手再抖下, /前加个空格可咋整?
    U7Q5tLAex2FI0o0g
        4
    U7Q5tLAex2FI0o0g  
       2019-12-20 17:59:51 +08:00
    rm 命令千万不要加 f
    wc951
        5
    wc951  
       2019-12-20 18:00:39 +08:00 via Android   1
    删的多了就可以跑路了,你这才删个文件夹而已
    superrichman
        6
    superrichman  
       2019-12-20 18:18:50 +08:00 via iPhone
    装个 trash-cli 替换掉 rm,删东西会到回收站不会直接删除。v 站上有好几个删软链删错文件的小伙伴,不怕。
    MeteorCat
        7
    MeteorCat  
       2019-12-20 18:23:20 +08:00 via Android
    前阵子我也是这样,现在天天在想办法还原备份
    honjow
        8
    honjow  
       2019-12-20 18:25:56 +08:00   3
    @KentY 可能对于部分人来说。。rm -rf 就是个整体,打完 rm 就自然而然跟着 -rf 了
    wangkun025
        9
    wangkun025  
       2019-12-20 18:30:54 +08:00
    从 rm 到跑路
    wysnylc
        10
    wysnylc  
       2019-12-20 18:32:02 +08:00
    这就是为什幺要用视图化工具的原因,减少误操作
    dinghmcn
        11
    dinghmcn  
       2019-12-20 18:40:17 +08:00 via Android
    前排售卖票
    KentY
        12
    KentY  
       2019-12-20 18:46:50 +08:00
    @honjow 还真是有这个可能, 你一说我想起来了, 我有同事就是 ls 后面跟的选项 5,6 个如背口诀一般咔咔就写上了, 我还问他, 这些都什么意思? 他说他也不知道, 反正每次 ls 都这么写, 不管目录有什么.
    KentY
        13
    KentY  
       2019-12-20 18:47:34 +08:00
    @MeteorCat 推荐你 borg 备份恢复
    jinliming2
        14
    jinliming2  
       2019-12-20 18:51:14 +08:00 via iPhone
    rm 禁忌 -f。
    除非确定是删文件夹,不然一般 -r 都不要用!
    murmur
        15
    murmur  
       2019-12-20 18:55:33 +08:00
    这个时候就是该狂吹资源管理器的时候了
    Fraotisc
        16
    Fraotisc  
       2019-12-20 19:00:24 +08:00 via Android
    装个 safe-rm,功能如其名
    CEBBCAT
        17
    CEBBCAT  
       2019-12-20 20:11:46 +08:00 via Android
    搭楼请教一下,大家怎么删除.git ?
    billlee
        18
    billlee  
       2019-12-20 20:21:43 +08:00
    CentOS 默认的 alias rm='rf -i' 是个毒瘤,以前我用 ubuntu 的时候 rm 都不会加 -f, 最近 CentOS 用多了每次 rm 都顺手带上 -rf 了,否则删目录还要一个个文件提示你
    WFMS
        19
    WFMS  
       2019-12-20 20:26:58 +08:00
    rm -rf server/ 与 rm -rf server 有区别吗 加不加这个 /都删了
    lrvy
        20
    lrvy  
       2019-12-20 20:35:12 +08:00
    推荐个工具 trash-cli
    rm is an alias for trash
    KentY
        21
    KentY  
       2019-12-20 20:37:54 +08:00
    @CEBBCAT 为什么要删除.git  你是需要 git archive 吧?
    jz361
        22
    jz361  
       2019-12-20 20:46:35 +08:00   1
    @WFMS 兄弟,审题。删的是软链
    CEBBCAT
        23
    CEBBCAT  
       2019-12-20 20:48:12 +08:00 via Android
    @KentY 比如说删除一个由 git 管理的文件夹,-r 时自然会迭代到.git 文件夹下的文件
    KentY
        24
    KentY  
       2019-12-20 20:49:31 +08:00
    @CEBBCAT ... please read my comment twice
    CatSaysMeow
        25
    CatSaysMeow  
       2019-12-20 21:11:34 +08:00   1
    我也犯过一次这个错误,所以我的桌面上至今留着一个叫 shabi.jpg 的图片记录那一刻
    internelp
        26
    internelp  
       2019-12-20 21:14:40 +08:00
    extundelete,这个工具试试,有一定几率恢复,赶紧卸载硬盘。
        27
    cyannnna  
       2019-12-20 21:20:00 +08:00
    those situations I suggest you input / inputted sudo rm - rf /* and run away ASAP.

    :)
    cyannnna
    cyannnna
        28
    cyannnna  
       2019-12-20 21:21:35 +08:00
    @murmur 视窗操作统一世界!命令行活该被征服?
    des
        29
    des  
       2019-12-20 21:33:39 +08:00 via Android   1
    软连接我都是用 unlink 来删,就是怕搞错
    Tink
        30
    Tink  
    PRO
       2019-12-21 02:17:40 +08:00 via iPhone
    直接就是 root 账户??
    pheyx
        31
    pheyx  
       2019-12-21 02:41:54 +08:00 via Android
    只有 root 才能误删?
    TonyLiu2ca
        32
    TonyLiu2ca  
       2019-12-21 02:51:59 +08:00
    如果支持 ACLs,那么添加一个禁止删除的 ACL,在 Mac 上如:
    chmod +a0 "group:everyone deny delete"
    manami
        33
    manami  
       2019-12-21 08:13:46 +08:00 via Android
    先写文件名再写 rm 命令
    Judoon
        34
    Judoon  
       2019-12-21 11:27:19 +08:00
    删链接用 unlink 就行了,假如你不知道他是软链还是硬链呢
    crclz
        35
    crclz  
       2019-12-21 12:10:07 +08:00
    Powershell Core 欢迎您
    FrankHB
        36
    FrankHB  
       2019-12-21 13:58:08 +08:00
    @kokutou mv 大多数情况下也救不了 /,特别还是 mv 了一半的……
    ArtCell
        37
    ArtCell  
       2019-12-21 17:18:23 +08:00
    `alias rm="mv -t /tmp"`
    再安装一个 `tmpreaper`
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2851 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 00:29 PVG 08:29 LAX 17:29 JFK 20:29
    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