返回首页
DA系统
C#IDE
文件同步服务
屏保
今天是: 2026-05-05 "立夏" 夏季的第一个节气,表示盛夏时节的正式开始
收藏
任务
排行
道具
勋章
站长QQ
QQ:979119776
如您使用论坛过程中发现任何问题
请点击下方添加站长QQ
联系站长
休闲区
BBS
技术区
C#IDE
文件同步服务
喝茶淡饭
音乐区
视频区
Linux技术交流
Unity 3D、C#技术交流
Windows技术交流
论坛BUG专区
玩家杂谈
BUG专区
建议专区
搜索
搜索
热搜:
linux
技术
Hi~
登录
或
注册
本版
帖子
用户
DA 论坛
»
休闲区
›
技术区
›
Linux技术交流
›
【转载】记一次软链接删除导致的目录清空事故 ...
返回列表
发新帖
查看:
1822
|
回复:
0
[转载]
【转载】记一次软链接删除导致的目录清空事故
[复制链接]
da11
da11
当前离线
积分
68575
发表于 2023-3-7 12:11:14
|
显示全部楼层
|
阅读模式
少侠不来段修仙之旅吗~
您需要
登录
才可以下载或查看,没有帐号?
注册成为修仙之旅的少年~
x
记一次软链接删除导致的目录清空事故
转载地址:
https://blog.csdn.net/TomorrowAndTuture/article/details/121220653
起因
我当前目录下有一些目录和文件:
root@master ~/test# ll
total 4.0K
drwxr-xr-x. 7 root root 203 Nov 9 08:55 test/
-rwxr-xr-x. 1 root root 8 Nov 9 08:56 test.sh*
我本来想给目录下的 test 目录新建一个软链接:
ln -sf /root/test/test dir_softlink经过
但是操作的时候少写(阴差阳错)了一个 test 层级,如下:(结果变成了给当前目录新建了一个软链接):
root@master ~/test# ll
total 4.0K
lrwxrwxrwx. 1 root root 10 Nov 9 09:00 dir_softlink -> /root/test/
drwxr-xr-x. 7 root root 203 Nov 9 08:55 test/
-rwxr-xr-x. 1 root root 8 Nov 9 08:56 test.sh*
我想着,既然软链接弄错了,那我就把这个软链接删除,重新创建一个就好(到这步其实也没啥大问题)。于是乎先是用 rm 去删除软链接
(至少我本意只是想删除这个软链接),结果竟然删不掉(其实也怪我没有仔细看这块的错误提示,多看一眼的话,后边也没那么胆大妄为了):
oot@master ~/test# rm dir_softlink/
rm: cannot remove ‘dir_softlink/’: Is a directory
毕竟,目录和软链接的删除提示是
不一样
的:
[root@master test]# rm dir_softlink/
rm: cannot remove ‘dir_softlink/’:
Is a directory
[root@master test]# rm dir_softlink
rm: remove
symbolic link
‘dir_softlink’? y
然而,我却是先想到了
rm -rf
这个惊天地,泣鬼神的命令(哎!先扇自己一巴掌)————
rm -rf
不相信眼泪。。
root@master ~/test# rm -rf dir_softlink/
后果
当我执行完删除命令以后,再用 ll 命令查看目录内容的时候,我知道!我闯祸了 -____-"(噗!再扇自己一巴掌):
root@master ~/test# ll
total 0
分析
其实,罪魁祸首自然就是软链接删除的时候多添加了一个“ / ” 符号的缘故,如果不加这个符号的话,只删除目录的软链接是绝对没有问题的。
root@master ~/test# ll
total 4.0K
drwxr-xr-x. 7 root root 203 Nov 9 09:08 test/
-rwxr-xr-x. 1 root root 8 Nov 9 09:08 test.sh*
root@master ~/test# ln -sf /root/test dir_softlink
root@master ~/test# rm dir_softlink/
rm: cannot remove ‘dir_softlink/’: Is a directory
root@master ~/test# ll
total 4.0K
lrwxrwxrwx. 1 root root 10 Nov 9 09:08 dir_softlink -> /root/test/
drwxr-xr-x. 7 root root 203 Nov 9 09:08 test/
-rwxr-xr-x. 1 root root 8 Nov 9 09:08 test.sh*
root@master ~/test# rm dir_softlink
root@master ~/test# ll
total 4.0K
drwxr-xr-x. 7 root root 203 Nov 9 09:08 test/
-rwxr-xr-x. 1 root root 8 Nov 9 09:08 test.sh*
总结
在删除软连接的目录时,如果目录后面不带 "/" ,则只删除软链接的目录(也即通常所指的快捷方式),源目录结构不便。
在删除软连接的目录时,如果目录后面带 "/" ,则删除原目录下的所有文件,而软连接目录不删除(像我上面这种的情况,软链接包含在了要删除的目录里边,当然也一并删除了)。
所以:事关删除事,万般皆小心!!!
回复
使用道具
举报
置顶卡
沉默卡
变色卡
返回列表
发新帖
游客
回复
*
滑块验证:
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册成为修仙之旅的少年~
发表回复
快速回复
返回顶部
返回列表