如何安全的删除软连接? 一不小心就加了个 /
1
Latin 2020-06-22 11:58:42 +08:00 1
rm -rf /
|
2
MCVector 2020-06-22 12:03:55 +08:00 via Android 8
强烈建议不要发 rm -rf / 这样的东西。很容易误导通过搜索引擎过来的新手。我刚刚开始用 Linux 的时候有一次垃圾箱删不掉,看到一个论坛里有这样的命名,结果用了以后把作业都删掉了。
|
3
vk42 2020-06-22 12:08:14 +08:00
删软链接别加-r 就没事,最多报错
|
4
visonnn 2020-06-22 12:15:30 +08:00 1
1 楼这种回复不好笑,也很不负责任。
|
5
loading 2020-06-22 12:16:54 +08:00 via Android 1
root 权限了,不小心并不是理由。
|
6
Netfix 2020-06-22 12:20:05 +08:00 2
看上面几楼好像是没看懂题目把,删除软连接后面+/ 会删除源文件 如果 tab 补全 默认会加 /
|
7
libook 2020-06-22 12:29:57 +08:00 1
一方面是操作的时候仔细一些,确保输入的指令无误再执行;另一方面可以借助一些工具来确保可以恢复误操作,比如 trash-cli 这种工具可以使用 trash 指令来将文件放入回收站。
|
8
McZoden 2020-06-22 12:31:13 +08:00
unlink
|
9
eallion 2020-06-22 12:36:03 +08:00
ln --help
|
10
nightwitch 2020-06-22 12:48:28 +08:00 1
apt instal trash-cli
alias rm=trash |
12
asilin 2020-06-22 13:31:32 +08:00
unlink
|
13
flyingghost 2020-06-22 14:02:24 +08:00
@MCVector 那么问题来了,把一个低级错误像段子一样广为传播,到底是有利于新手避开错误,还是造成更多的人亦步亦趋掉进同样的坑里?
|
17
Oysmart 2020-06-22 15:52:01 +08:00 1
原来开过这种玩笑,但现在不会了,不要用自己的眼光去定义新手;
新手往往会不假思索的去执行,对数据还是保持敬畏之心。 |
19
crella 2020-06-22 17:31:03 +08:00 via Android
我用 debian9 的时候 rm -rf /这个危险命令会提示确认删除的了啊?
|
20
zviacx 2020-06-22 18:15:12 +08:00
|
21
aloxaf 2020-06-22 19:06:24 +08:00
1. 不要没事乱加 rf,你要删的又不是目录
2. 标准做法是使用 unlink 3. 为了防止误删建议 alias rm=rm -i 4. 为了误删之后还能恢复请使用 trash-cli (这个太长我一般 alias 到 del ) 5. 如果你是像前面说的因为 tab 补全会加上 / 而误操作的花,建议使用 zsh 。zsh 很多细节真的处理得非常好:补全目录时自动添加的 / ,在侦测到你接下来输入的也是 / 或者分号、空格、回车时,就会被自动删掉。 |
22
qnnnnez 2020-06-22 19:46:14 +08:00
3 楼说得没错呀。
unlink 和 rm 没啥区别吧(我还不知道有个程序叫 unlink ),因为 unlink 不能加 -r ? |
23
HarryQu 2020-06-22 22:54:26 +08:00
既然想安全,就尽量少用 rm 。你可以建一个临时目录,将想要删除的文件,使用 mv 移动到临时目录,定时清理临时目录即可。
|
24
Illusionary 2020-06-22 23:14:29 +08:00
rm -f,从未失手
|
25
msg7086 2020-06-23 07:38:45 +08:00
|
26
Coolwinds 2020-06-23 13:29:01 +08:00
一楼真没意思,谁没有还是个菜鸟的时候
|
27
vB4h3r2AS7wOYkY0 2020-06-23 14:51:41 +08:00
`fd <location> -type l`
检查一下当前存在的软链再操作就好.... |
28
qbqbqbqb 2020-06-24 11:53:10 +08:00 1
@qnnnnez Linux 里 rm 和 unlink 确实没多大区别
有区别的是 macOS,因为 macOS 的文件系统支持目录硬链接(注意不是软链接,且系统中有相关机制确保目录“树”无环),众所周知 rm 和 rmdir 是无法直接删除有文件的目录的,如果要消除一个目录硬链接而不影响其中文件的话必须用 unlink 。 至于软连接,无论在什么平台上都是直接 rm (不加-r )就行 |
29
MCVector 2020-06-24 13:16:27 +08:00 via Android
@flyingghost 那就看有多少人是先接触段子了🤔
|
30
TK4E 2020-06-24 22:38:05 +08:00
以防万一
alias rm='mv -t /root/.Rubbish' alias rmrf='\rm -rf /root/.Rubbish/*' 现在 rm -rf / 也不能直接删除吧 反倒是要小心 rm -rf * |