V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hunterJax
V2EX  ›  程序员

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

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

    一不小心手抖,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. 你手再抖下, /前加个空格可咋整?
    littleylv
        4
    littleylv  
       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,这个工具试试,有一定几率恢复,赶紧卸载硬盘。
    cyannnna
        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
        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  
       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   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   2425 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 07:10 · PVG 15:10 · LAX 23:10 · JFK 02:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.