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

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

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

    不管你信不信,我抢救回来过。。
    farmer01
    farmer01
    Jan 7, 2020
    61
    收拾收拾行李买站票吧
    wangkun025
    wangkun025
    Jan 7, 2020
    62
    安装了 trash
    未雨绸缪。
    shm7
    shm7
    Jan 7, 2020
    63
    我记得书上讲过,rm 之前先 ls 一下,看好了,再把 ls 改成 rm
    030
    030
    Jan 7, 2020
    64
    把硬盘挂载到 Windows 下看看能不能恢复,2020 年了,mac 的话,消费级文件系统应该删除操作都是删索引
    030
    030
    Jan 7, 2020
    65
    # 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
    beginor
    OP
    Jan 7, 2020
    66
    @030 Mac 内置硬盘, 那样做太折腾了, 新建用户, 只当是全新电脑了
    foxni
    foxni
    Jan 7, 2020❤️1
    67
    看到楼主的遭遇,默默的装上了 trash。。。
    Rorysky
    Rorysky
    Jan 7, 2020
    68
    没记错,macos catalina 开始把 系统目录与用户目录,在逻辑上隔离开了。

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