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

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

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

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

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

    第 1 条附言  ·  47 天前
    rm -rf ~/ 删的是用户主目录, 没有使用 sudu,是不需要输入密码的。

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

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

    接下来还是装个 trash 吧, 以后慎用 rm 命令。
    第 2 条附言  ·  46 天前

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

    alias rm="trash"
    

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

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

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

    没事儿,使劲儿造
    lostberryzz
        69
    lostberryzz   46 天前
    @Rorysky 系统删掉没关系,重装就行,用户数据删了找不回啊
    Ivone29
        70
    Ivone29   46 天前
    @atonku 哈哈哈,我第一反应也是想到的这个
    hyndaniel
        71
    hyndaniel   46 天前
    不要 alias
    maxbon
        72
    maxbon   42 天前
    rm -rf ~/ 问题不大
    rm -rf / 问题很大
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1748 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 00:51 · PVG 08:51 · LAX 16:51 · JFK 19:51
    ♥ Do have faith in what you're doing.