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

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

  •  
  •   hunterJax · 315 天前 · 5560 次点击
    这是一个创建于 315 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    :)
    cyannnna
        28
    cyannnna   315 天前
    @murmur 视窗操作统一世界!命令行活该被征服?
    des
        29
    des   315 天前 via Android   ❤️ 1
    软连接我都是用 unlink 来删,就是怕搞错
    Tink
        30
    Tink   315 天前 via iPhone
    直接就是 root 账户??
    pheyx
        31
    pheyx   315 天前 via Android
    只有 root 才能误删?
    TonyLiu2ca
        32
    TonyLiu2ca   314 天前
    如果支持 ACLs,那么添加一个禁止删除的 ACL,在 Mac 上如:
    chmod +a0 "group:everyone deny delete"
    manami
        33
    manami   314 天前 via Android
    先写文件名再写 rm 命令
    Judoon
        34
    Judoon   314 天前
    删链接用 unlink 就行了,假如你不知道他是软链还是硬链呢
    crclz
        35
    crclz   314 天前
    Powershell Core 欢迎您
    FrankHB
        36
    FrankHB   314 天前
    @kokutou mv 大多数情况下也救不了 /,特别还是 mv 了一半的……
    ArtCell
        37
    ArtCell   314 天前
    `alias rm="mv -t /tmp"`
    再安装一个 `tmpreaper`
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1199 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:45 · PVG 02:45 · LAX 11:45 · JFK 14:45
    ♥ Do have faith in what you're doing.