误在sites-enabled创建符号链接文件夹,如何删除且不破坏原文件夹?
解决Nginx软链接误创建的问题
别担心,这个坑很多人都踩过,我来帮你安全搞定!
立刻修复:删除错误的软链接
你现在要删的是/etc/nginx/sites-enabled里的sites-available软链接,绝对不能用带-r的rm命令(那会把原目录的文件全删了,太危险)。直接执行这条命令就行:
sudo rm /etc/nginx/sites-enabled/sites-available
如果已经cd到/etc/nginx/sites-enabled目录下,简化成:
sudo rm sites-available
这条命令只会删除软链接本身,原/etc/nginx/sites-available里的文件一点都不会碰。
为啥之前的方法不行?
sudo rm -r sites-available:因为软链接是指向原目录的快捷方式,-r参数会让rm递归进入软链接指向的真实目录,把原文件全删了,这是典型的危险操作!rmdir sites-available:rmdir只能删除空的真实目录,而你要删的是软链接(不是真实目录),所以才会报错"not a directory"。
通用技巧:删除指向目录的软链接
以后再碰到类似情况,记住这两个要点:
- 先确认目标是软链接:用
ls -l查看,软链接开头会显示l,比如lrwxrwxrwx 1 root root 33 Aug 10 12:00 sites-available -> /etc/nginx/sites-available/ - 删除时直接用
rm,不要加-r/-R参数,直接删软链接的路径就好
内容的提问来源于stack exchange,提问作者Aditya Adhikari
相关产品推荐
相关产品推荐

