V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
lcdxiangzi
V2EX  ›  程序员

来个新鲜的,两分钟前的事情, rm -rf

  •  
  •   lcdxiangzi · 2019-03-27 14:24:33 +08:00 · 3279 次点击
    这是一个创建于 2103 天前的主题,其中的信息可能已经有所发展或是发生改变。
    过程描述----------------------------------------
    [hadoop@Hmaster ~]$ ls
    ~ data hbase-1.4.8 jobs ml-20m
    apache-hive-3.1.0-bin hadoop-3.1.1 jdk1.8.0_161 log zookeeper-3.4.12
    [hadoop@Hmaster ~]$ rm ~ -rf
    rm: 无法删除"/home/hadoop": 权限不够
    [hadoop@Hmaster ~]$ ll
    总用量 0
    [hadoop@Hmaster ~]$ ls
    [hadoop@Hmaster ~]$ ll
    总用量 0
    [hadoop@Hmaster ~]$

    起因------------------------------------------
    我在配 zookeeper,在 zkEnv.sh 中将 ZOO_LOG_DIR 改成了~/log。想着把 zookeeper.out 固定下来,不要到处乱丢。
    然后我在 /home/hadoop/log 中看,结果没有找到 zookeeper.out 。
    再仔细一看,竟然在自己家目录下出来上面 3 行那里的那个~。zookeeper.out 在这里面。

    后来------------------------------------------
    心里正想着,zookeeper 怎么这么傻呢。就发生了上面的事情。
    NOW------------------------------------------
    此刻心中万马奔腾。。。
    16 条回复    2019-03-27 17:03:11 +08:00
    jxf2008
        1
    jxf2008  
       2019-03-27 14:53:28 +08:00
    还好你没在命令后面加个斜杠。。。。。
    michaelcheng
        2
    michaelcheng  
       2019-03-27 14:55:51 +08:00
    之前在测试环境这么干过
    lcdxiangzi
        3
    lcdxiangzi  
    OP
       2019-03-27 15:03:20 +08:00
    @jxf2008 斜杠是不会的,但是我感觉有点亏啊,我那一刻的想法非常单纯,就是想干掉这个~,怎么就这么难呢,o(╥﹏╥)o
    des
        4
    des  
       2019-03-27 15:04:50 +08:00 via Android   ❤️ 1
    请善用 tab 补全
    boris1993
        5
    boris1993  
       2019-03-27 15:05:39 +08:00 via Android
    所以我每次删东西都写全文件名,很少用通配符,~之类的绝对不用,回车之前看三遍确定没错
    lcdxiangzi
        6
    lcdxiangzi  
    OP
       2019-03-27 15:17:10 +08:00
    @des 这个和 tab 补全有关系吗?求详解
    Tyanboot
        7
    Tyanboot  
       2019-03-27 15:19:50 +08:00
    @lcdxiangzi 补全的话,有些特殊符号会自动给加上转义'\'。
    HMSQQbA
        8
    HMSQQbA  
       2019-03-27 15:26:14 +08:00
    @lcdxiangzi 也许是指有些 shell 在按 Tab 时会将 ~ 一类的符号展开。
    cstj0505
        9
    cstj0505  
       2019-03-27 15:39:52 +08:00
    在我自己电脑上干过 rm -rf *
    本来以为自己切到工作目录,结果发现竟然还在 home 目录
    51Tao
        10
    51Tao  
       2019-03-27 15:44:34 +08:00
    普通账号执行也拿来显摆,现在的程序猿一届不如一届,b4
    efsg
        11
    efsg  
       2019-03-27 15:47:00 +08:00 via Android
    @51Tao 不是说高版本 rm 就算 root 也不让 rm -rf /*?
    nanaw
        12
    nanaw  
       2019-03-27 15:55:03 +08:00 via Android
    不加 f 不就好了嘛。。。

    @efsg 需要加--no-preserve-root 参数取消系统保护
    neroxps
        13
    neroxps  
       2019-03-27 15:59:35 +08:00
    深表同情,数据恢复去吧
    ducklyl
        14
    ducklyl  
       2019-03-27 16:06:34 +08:00
    做好备份很重要,至少找得回来
    msg7086
        15
    msg7086  
       2019-03-27 16:15:20 +08:00
    @efsg 是不让 rm -rf /。

    /*会被 Shell 展开成多个项目。
    51Tao
        16
    51Tao  
       2019-03-27 17:03:11 +08:00
    @efsg 我打赌不会这么实现的,有违 Unix 哲学;当然了 2B 发行版除外,比如 Ubuntu
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2481 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 02:44 · PVG 10:44 · LAX 18:44 · JFK 21:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.