• 请不要在回答技术问题时复制粘贴 AI 生成的内容
beginor
V2EX  ›  程序员

Mac 上不小心按了 rm -rf ~/ 还能恢复么?

  •  
  •   beginor ·
    beginor · Jan 6, 2020 · 16522 views
    This topic created in 2324 days ago, the information mentioned may be changed or developed.

    好吧,这次到我了。 不小心按了 rm -rf ~/, 难道真的要跑路!

    Google 了一下, 都说在 Mac 上执行 rm -rf 基本上就是 bye-bye 的意思。

    Supplement 1  ·  Jan 6, 2020
    rm -rf ~/ 删的是用户主目录, 没有使用 sudu,是不需要输入密码的。

    下载了个恢复软件 Disk Drill 扫描了一下午,也没找回什么有用的东西, 多数都是回收站清空的东西。

    最主要的损失是 Docker 的镜像和容器都没了, 数据库文件直接就没有了, 损失惨重!

    接下来还是装个 trash 吧, 以后慎用 rm 命令。
    Supplement 2  ·  Jan 7, 2020

    已经使用 brew 安装 trash, 然后在 ~/.bash_profile 文件添加 alias :

    alias rm="trash"
    

    希望以后不会再出现误删的情况了。

    Supplement 3  ·  Jan 7, 2020
    已经打开时间机器的自动备份, 另外 #57 的 V 友说的对, 把 alias 去掉了, 以后只用 trash 来删除, 万一删错还能找回来。
    73 replies    2020-05-22 15:49:27 +08:00
    ysc3839
        1
    ysc3839  
       Jan 6, 2020
    基本上不行。macOS 文件系统的相关资料很少,应该没什么数据恢复软件支持吧,有估计也很贵。
    mouyase
        2
    mouyase  
       Jan 6, 2020 via Android
    👋🏻
    teddybun
        3
    teddybun  
       Jan 6, 2020
    去售后吧,没有试过
    atonku
        4
    atonku  
       Jan 6, 2020   ❤️ 1
    怎么按的,这又不是一个键
    594kJ
        5
    594kJ  
       Jan 6, 2020
    Time Machine 不知道有没有用咧?
    puzzle9
        6
    puzzle9  
       Jan 6, 2020 via Android
    @atonku 误删 还可能是 tab 和回车按快了
    ferock
        7
    ferock  
    PRO
       Jan 6, 2020
    既然只是 ~/. 那重新开个账户,不行就重装咯。。。。自己的电脑,自己扛啊!
    dorothyREN
        8
    dorothyREN  
       Jan 6, 2020
    home 删了就重新添加一个用户啊,又不是删根了,跑什么路
    WFMS
        9
    WFMS  
       Jan 6, 2020
    主题:程序员 标签分别是:MAC 小心 跑路 bye-bye
    造句:不小心按了 rm -rf ~/, 跑路! bye-bye !
    minbaby
        10
    minbaby  
       Jan 6, 2020
    SIP 没开的话,就是你想删除 / 都很难,用 root 账号去操作系目录你会发现没有权限。https://support.apple.com/en-us/HT204899
    Ariy
        11
    Ariy  
       Jan 6, 2020
    我记得不会直接删的,这行代码好像开超级用户才能运行。
    sytnishizuiai
        12
    sytnishizuiai  
       Jan 6, 2020
    Time Machine 可以试试,我之前退回公司电脑,按照别人的教程重置系统挂了,重新下载几十个小时,用 Time Machine 直接半小时内恢复了,当时打开的页面都还在。。。
    bubuyu
        13
    bubuyu  
       Jan 6, 2020
    话说你们 Time Machine 是挂在外置硬盘还是 NAS 上?
    Dvel
        14
    Dvel  
       Jan 6, 2020   ❤️ 1
    有种东北小孩舔铁门的感觉,都说不要 rm -rf,但就是管不住这手
    ben1024
        15
    ben1024  
       Jan 6, 2020
    删除记得要开权限
    foamvalue
        16
    foamvalue  
       Jan 6, 2020
    居然,不用输密码?
    nnqijiu
        17
    nnqijiu  
       Jan 6, 2020
    输密码也是不小心?
    loudylee
        18
    loudylee  
       Jan 6, 2020
    只要有时间机器在,随便怎么折腾都没事。
    renyapeng
        19
    renyapeng  
       Jan 6, 2020   ❤️ 1
    删除都是用 trash 删,brew install trash
    Raymon111111
        20
    Raymon111111  
       Jan 6, 2020
    怎么不小心输的密码?
    MartinWu
        21
    MartinWu  
       Jan 6, 2020
    @Raymon111111 #20 这不需要输密码。
    xuxuzhaozhao
        22
    xuxuzhaozhao  
       Jan 6, 2020
    造孽啊!
    dany813
        23
    dany813  
       Jan 6, 2020
    牛逼啊 老哥
    Raymon111111
        24
    Raymon111111  
       Jan 6, 2020
    @MartinWu 那等于是天天拿着个炸弹到处跑, 有一天不小心炸了也是情有可原
    MartinWu
        25
    MartinWu  
       Jan 6, 2020
    @Raymon111111 #24 我 get 不到你这回复跟我说的有什么关系。
    MartinWu
        26
    MartinWu  
       Jan 6, 2020
    @Raymon111111 #24 自己的 HOME,一般正常情况下,自己肯定有所有权的。 何来 rm 操作还需要输入密码的?
    Raymon111111
        27
    Raymon111111  
       Jan 6, 2020
    @MartinWu 还以为是 /, 用户没了重来一下就好了吧, 操作系统还在
    MartinWu
        28
    MartinWu  
       Jan 6, 2020
    @Raymon111111 #27 我感觉个人电脑,更重要的数据还是在 HOME 下,系统没了就重装得了,个人用户下的资料没了,就真没了。
    yuxuan
        29
    yuxuan  
       Jan 6, 2020   ❤️ 3
    这时候就体现出来装 Adobe 套装的好处了 之前朋友执行了之后一分钟才反应过来 紧急停止后发现 连个 Adobe 文件见都还没删完😂
    yuxuan
        30
    yuxuan  
       Jan 6, 2020
    @yuxuan 好吧 没看到是 home😂
    Fitz
        31
    Fitz  
       Jan 6, 2020   ❤️ 1
    删过一次之后就默默加上 alias rm=trash 了
    Tink
        32
    Tink  
    PRO
       Jan 6, 2020 via iPhone
    家目录问题不大
    xupefei
        33
    xupefei  
       Jan 6, 2020 via iPhone
    apfs 的话可能有 local snapshot 可以用作恢复。
    zhuanggu
        34
    zhuanggu  
       Jan 6, 2020
    我就想知道 怎么不小心按的这么多个字符?
    Juszoe
        35
    Juszoe  
       Jan 6, 2020
    已经不用 f 参数了
    Sngo
        36
    Sngo  
       Jan 6, 2020 via iPhone
    这还能不小心按?
    raysmond
        37
    raysmond  
       Jan 6, 2020
    time machine 一般备份都在另一块盘上,可以
    littleangel
        38
    littleangel  
       Jan 6, 2020 via iPhone
    遇见这种情况 就要看手速了 反应快 损失能少点
    0x4F5DA2
        39
    0x4F5DA2  
       Jan 6, 2020
    @xupefei 是这样的,即使没有备份过进入时间机器后也有最近的快照
    https://support.apple.com/zh-cn/HT204015
    https://support.apple.com/zh-cn/HT209152
    beginor
        40
    beginor  
    OP
       Jan 6, 2020 via Android
    @0x4F5DA2 我去看看,谢谢!
    beginor
        41
    beginor  
    OP
       Jan 6, 2020 via Android
    @0x4F5DA2 我晕, 时间机器没开 😭
    FurN1
        42
    FurN1  
       Jan 6, 2020
    是 sudo 不是 sudu。。。兄弟需要了解*nix 基础知识惹
    songsong
        43
    songsong  
       Jan 6, 2020
    误删 赶紧 command + c 有些是 ctrl+c
    HuangLibo
        44
    HuangLibo  
       Jan 6, 2020
    请用 mv 代替 rm
    fvckDaybyte2
        45
    fvckDaybyte2  
       Jan 6, 2020
    我当年也是 rm -rf ~,因为当前目录有一个文件夹就叫~,结果被 rm 果断无视,直接开始删我的 home
    beginor
        46
    beginor  
    OP
       Jan 6, 2020 via Android
    @IgniteWhite 手机上不小心发错了
    John60676
        47
    John60676  
       Jan 7, 2020
    我记得是删不掉的啊
    lovemegowin
        48
    lovemegowin  
       Jan 7, 2020
    我是直接重装系统了 很多 bin 下的文件删了 会有很多问题
    solgh
        49
    solgh  
       Jan 7, 2020
    不备份吗?
    solgh
        50
    solgh  
       Jan 7, 2020
    我至少一个月用移动硬盘备份一次
    beginor
        51
    beginor  
    OP
       Jan 7, 2020
    @solgh 自动备份没有打开, 看来以后还是要开的
    seki4713
        52
    seki4713  
       Jan 7, 2020
    我也试过一次 当初不小心创建了一个名字是~的文件 然后习惯性 rm -rf ~
    不过还好有用 time machine 备份 不然 gg
    melonzzz
        53
    melonzzz  
       Jan 7, 2020
    有一次帮同事装东西,一不小心就 rm -rf 了。然后东西都没了。。。也就要 sudo 权限的没删掉。还好我还活着
    ericzhizhengsg
        54
    ericzhizhengsg  
       Jan 7, 2020   ❤️ 1
    I think you did deliberately. It can not type in one key.
    ShroudNix
        55
    ShroudNix  
       Jan 7, 2020
    删前备份 江湖规矩 养成好习惯才是正道 alias 是治标不治本 ~~手动狗头
    xianqin
        56
    xianqin  
       Jan 7, 2020
    把 time machine 开着,那怕没备份关机前都可以找回来
    no1xsyzy
        57
    no1xsyzy  
       Jan 7, 2020   ❤️ 1
    再说一遍不要 alias rm
    不然你 ssh 到另一台上去就很放心的 rm 了
    no1xsyzy
        58
    no1xsyzy  
       Jan 7, 2020
    @fvckDaybyte2 #45 不是被 rm 无视的,shell 直接展开成 /home/xxx 的,rm 接受到的参数不是 ~
    lcj2class
        59
    lcj2class  
       Jan 7, 2020
    一直用的是 Emacs 编辑器,它有个 backup 功能,目前是把备份目录设置为 ~/.emacs/backups,这里面的文件,已经拯救我好多次了。
    其他编辑器应该有类似的功能。
    seenthewind
        60
    seenthewind  
       Jan 7, 2020
    我在 mac 上按错过,实际上,如果东西多的话,删的不快,反应过来赶紧疯狂 ctrl + C 终止。

    不管你信不信,我抢救回来过。。
    farmer01
        61
    farmer01  
       Jan 7, 2020
    收拾收拾行李买站票吧
    wangkun025
        62
    wangkun025  
       Jan 7, 2020
    安装了 trash
    未雨绸缪。
    shm7
        63
    shm7  
       Jan 7, 2020
    我记得书上讲过,rm 之前先 ls 一下,看好了,再把 ls 改成 rm
    030
        64
    030  
       Jan 7, 2020
    把硬盘挂载到 Windows 下看看能不能恢复,2020 年了,mac 的话,消费级文件系统应该删除操作都是删索引
    030
        65
    030  
       Jan 7, 2020
    # strace rm data.txt 2>&1 | grep 'data.txt'
    execve("/bin/rm", ["rm", "data.txt"], [/* 13 vars */]) = 0
    lstat("data.txt", {st_mode=S_IFREG|0644, st_size=10, ...}) = 0
    stat("data.txt", {st_mode=S_IFREG|0644, st_size=10, ...}) = 0
    access("data.txt", W_OK) = 0
    unlink("data.txt") = 0

    找了下,unlink,看来是了
    beginor
        66
    beginor  
    OP
       Jan 7, 2020
    @030 Mac 内置硬盘, 那样做太折腾了, 新建用户, 只当是全新电脑了
    foxni
        67
    foxni  
       Jan 7, 2020   ❤️ 1
    看到楼主的遭遇,默默的装上了 trash。。。
    Rorysky
        68
    Rorysky  
       Jan 7, 2020
    没记错,macos catalina 开始把 系统目录与用户目录,在逻辑上隔离开了。

    没事儿,使劲儿造
    lostberryzz
        69
    lostberryzz  
       Jan 7, 2020
    @Rorysky 系统删掉没关系,重装就行,用户数据删了找不回啊
    Ivone29
        70
    Ivone29  
       Jan 7, 2020
    @atonku 哈哈哈,我第一反应也是想到的这个
    hyndaniel
        71
    hyndaniel  
       Jan 7, 2020   ❤️ 1
    不要 alias
    maxbon
        72
    maxbon  
       Jan 11, 2020
    rm -rf ~/ 问题不大
    rm -rf / 问题很大
    bravist
        73
    bravist  
       May 22, 2020
    哎,就是被删了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1019 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 208ms · UTC 22:35 · PVG 06:35 · LAX 15:35 · JFK 18:35
    ♥ Do have faith in what you're doing.