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

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

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

/*会被 Shell 展开成多个项目。
51Tao
2019-03-27 17:03:11 +08:00
@efsg 我打赌不会这么实现的,有违 Unix 哲学;当然了 2B 发行版除外,比如 Ubuntu

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/549126

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX