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

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

  •  
  •   lcdxiangzi · Mar 27, 2019 · 3668 views
    This topic created in 2603 days ago, the information mentioned may be changed or developed.
    过程描述----------------------------------------
    [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 replies    2019-03-27 17:03:11 +08:00
    jxf2008
        1
    jxf2008  
       Mar 27, 2019
    还好你没在命令后面加个斜杠。。。。。
    michaelcheng
        2
    michaelcheng  
       Mar 27, 2019
    之前在测试环境这么干过
    lcdxiangzi
        3
    lcdxiangzi  
    OP
       Mar 27, 2019
    @jxf2008 斜杠是不会的,但是我感觉有点亏啊,我那一刻的想法非常单纯,就是想干掉这个~,怎么就这么难呢,o(╥﹏╥)o
    des
        4
    des  
       Mar 27, 2019 via Android   ❤️ 1
    请善用 tab 补全
    boris1993
        5
    boris1993  
       Mar 27, 2019 via Android
    所以我每次删东西都写全文件名,很少用通配符,~之类的绝对不用,回车之前看三遍确定没错
    lcdxiangzi
        6
    lcdxiangzi  
    OP
       Mar 27, 2019
    @des 这个和 tab 补全有关系吗?求详解
    Tyanboot
        7
    Tyanboot  
    PRO
       Mar 27, 2019
    @lcdxiangzi 补全的话,有些特殊符号会自动给加上转义'\'。
    HMSQQbA
        8
    HMSQQbA  
       Mar 27, 2019
    @lcdxiangzi 也许是指有些 shell 在按 Tab 时会将 ~ 一类的符号展开。
    cstj0505
        9
    cstj0505  
       Mar 27, 2019
    在我自己电脑上干过 rm -rf *
    本来以为自己切到工作目录,结果发现竟然还在 home 目录
    51Tao
        10
    51Tao  
       Mar 27, 2019
    普通账号执行也拿来显摆,现在的程序猿一届不如一届,b4
    efsg
        11
    efsg  
       Mar 27, 2019 via Android
    @51Tao 不是说高版本 rm 就算 root 也不让 rm -rf /*?
    nanaw
        12
    nanaw  
       Mar 27, 2019 via Android
    不加 f 不就好了嘛。。。

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

    /*会被 Shell 展开成多个项目。
    51Tao
        16
    51Tao  
       Mar 27, 2019
    @efsg 我打赌不会这么实现的,有违 Unix 哲学;当然了 2B 发行版除外,比如 Ubuntu
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3505 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 132ms · UTC 11:32 · PVG 19:32 · LAX 04:32 · JFK 07:32
    ♥ Do have faith in what you're doing.