写一个关于软连接的问题
再一次日常创建软连接时发现创建的链接是错误的,想着删除软连接,使用了 rm -rf xxx/
结果发现源文件也消失了!!!这会导致源文件的内容也被删除!!
问题复盘
一
首先在家目录创建文件

在家目录下创建 1/2 test.txt
在里面随便写一点东西

这时候我们在根目录下软连接他

这是test.txt指向了/root/1/2test.txt
现在我们是可以编辑他的

这时我们删除软连接


这里看到已经删除了
这时我们编辑源文件
可以看到还是可以编辑test.txt

二
上面那种情况我们是软连接的文件,下面我们软连接文件夹
我们把/root/1 软连接到根目录下

这时候看见是可以查看的

接下来我们删除软连接

诶。奇怪,我不是已经删除软连接了吗。为什么这里显示还在呢?
再试试删除!

执行删除指令后ll查看还是显示在
这是为什么呢?
我们tree 1 查看一下

显示1/下面已经没有东西了
这时候我们去源文件位置看看

居然发现源文件也不见了!
这是为什么呢,我明明删除的软连接,为什么源文件也没有了?
总结
这是因为我删除软链接文件夹的时候后面跟了/
得出结论:创建软连接时,如果软连接的是文件,那么删除软连接是可以正常删除的
但是如果软连接的是文件夹,那么删除文件夹的时候就不能跟 /!
就是删除创建的软连接1时,rm -rf 1/
后面跟了/
这表示删除1/这个文件夹下面的内容,我们习惯性用TAB补全,但是删除软连接文件夹的时候用TAB补全他就会默认的删除文件夹下的所有文件,包括源文件,这是非常危险的!!!
记录一下,长长记性!
本文讨论了一次在Linux环境下误删软连接导致源文件消失的问题。通过复盘操作步骤,发现在删除软连接文件夹时,若使用`rm -rf 文件夹/`,将删除文件夹及其内容,包括源文件。提醒用户在删除软连接时要注意避免此类错误,以防止数据丢失。
3607

被折叠的 条评论
为什么被折叠?



