概述:

          如何在linux服务器上正确且安全的删除软连接?

例子:

touch abc.txt
touch zzz.txt
echo 'test test test' > zzz.txt
ln -s zzz.txt zcw

示例图:

  

软连接已生效,可以看到修改zzz.txt,zcw也跟着一起修改。

删除软连接:


正确删除软连接的方法:

1.unlink(最保险的方式)

# unlink 链接源 原文件或目录
unlink zcw

2.rm方式删除(链接目录时候千万要小心,不要加f参数)

rm zcw        # rm link
rm -r zcw     # rm -r link 这里的参数 r 其实是没有意义的,因为link是一个软连接 不是目录
rm -rf zcw    # rm -rf link     # 这里的 rf 同样没有意义,只是rm 命令忽略了这里的参数


错误示范:

rm -rf link/
# 这个时候你发现软连接并没有删除,但 link/目录下的文件是全部被删除了
# 这些罪魁祸首是参数f,如果你没有使用f参数 这一切还可以挽回

rm link/ 
rm: cannot remove `link/': Is a directory
# 这里rm通过你的参数 link/发现是要删除一个目录,这时候需要你添加参数r 

rm -r link/
rm: cannot remove `link': Not a directory
# 这里你添加了r参数,但是并不能找到目录 link/因为link并不是一个目录,他是一个软连接,只不过有些shell在补全的时候会将 `/` 补全上去

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐