本文主要是介绍记一次软链接删除导致的目录清空事故,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
起因
我当前目录下有一些目录和文件:
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 层级,如下:(结果变成了给当前目录新建了一个软链接):
ln -sf /root/test dir_softlink
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*
总结
在删除软连接的目录时,如果目录后面不带 "/" ,则只删除软链接文件(也即通常所指的快捷方式),源目录结构不便。
在删除软连接的目录时,如果目录后面带 "/" ,则删除软连接对应的源目录下的所有文件,而软连接目录不删除(像我上面这种的情况,软链接包含在了要删除的目录里边,当然也一并删除了)。
拷贝等操作也类似
所以:事关删除事,万般皆小心!!!
这篇关于记一次软链接删除导致的目录清空事故的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!