## 如何正确的删除软连接 在 `linux` 系统,软连接相当与在`win`系统下的快捷方式。但是在 linux 下不正确的删除软连接可能造成灾难。一般删除软连接使用命令 `rm` ,有些使用 `rm -rf` 习惯的人在操作这个的时候会存在很大的危险性。正确删除 软连接 最安全的方式是使用 命令`unlink`。 如下举个 ## 例子 ```plaintext # 创建一个文件夹 两个文件 一个软连接 ~ mkdir origin ~ touch origin/file1.php ~ touch origin/file2.php ~ ln -s origin/ link # 查看文件 ~ ll origin ~ ..... file1.php ~ ..... file2.php ``` ## 删除软连接 的操作 ```plaintext # 以下这样的删除都没问题 ~ unlink link ~ rm link ~ rm -r link # 这里的参数 r 其实是没有意义的,因为link是一个软连接 不是目录 ~ rm -rf link # 这里的 rf 同样没有意义,只是rm 命令忽略了这里的参数 ~ ~ # 这样删除就会造成灾难 ~ rm -rf link/ # 这个时候你发现软连接并没有删除,但是 origin 目录下的文件是全部没删除了 ==! # 这些罪魁祸首是 参数 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在补全的时候会将 `/` 补全上去 ``` 这里mark下: **centos系统,如果使用 `rm -rf 软连接/` 的时候会将软连接指定的目录下的文件递归删除,不带提示!!!** 罪魁祸首有两个: 1. rm 的f参数 2. 软连接后面的 `/` 所以正确 安全 的删除软连接的方式是 `unlink 软连接`,这个时候如果 shell 自动补全后面的 `/` ,unlink 命令会提示你删除不了。 其次使用`rm` 删除的时候不要加参数 `f` ,这个时候即使你带上了后面的 `/` ,rm也会提醒你没有这个目录。 ## 全文总结 本文主要介绍了 Linux 系统中软连接的删除相关内容。在 Linux 系统里,软连接类似于 Windows 系统下的快捷方式,然而不正确删除软连接可能带来严重后果。通常删除软连接会用 rm 命令,但习惯使用 rm -rf 的人操作时风险较大。文中通过创建文件夹、文件及软连接的示例,展示了不同删除软连接操作的结果。如使用 unlink link、rm link、rm -r link、rm -rf link 等方式删除软连接都可行,因 link 为软连接,后两者命令中的参数实际无意义。但 rm -rf link / 这种操作会导致灾难,软连接未删除,却删除了其指向目录下的所有文件,原因是 rm 的 f 参数及软连接后的 “/”。因此,最安全的删除软连接方式是使用 unlink 命令,若用 rm 删除则不要加 f 参数。 ### 重要亮点 - **软连接删除不当的风险**:在 Linux 系统中,软连接类似 Windows 快捷方式,但删除软连接操作不当会引发严重问题。习惯使用 `rm -rf` 命令的人,若对软连接进行操作,可能因误操作导致严重后果,比如误删重要文件。 - **不同删除命令及参数的效果**:创建好软连接后,使用 `unlink link`、`rm link`、`rm -r link`、`rm -rf link` 等方式都能删除软连接,其中 `rm -r` 和 `rm -rf` 中的 r 和 rf 参数对软连接无实质作用,rm 命令会忽略这些参数。但 `rm -rf link /` 这种形式会带来灾难性后果,它会删除软连接指向目录下的所有文件。 - **安全删除软连接的方式**:最安全的删除软连接方式是使用 `unlink` 命令,即便 shell 自动补全 “/”,`unlink` 命令也会提示无法删除。若使用 rm 命令删除,不要添加 f 参数,这样即使带上 “/”,rm 也会提示没有该目录,从而避免误删重要文件。 ## 快照 - https://pic.rmb.bdstatic.com/bjh/3eec3da3a2b/250611/4a6f286acaae782a93c0da0d1a9240ef.png - https://i3.wp.com/pic.rmb.bdstatic.com/bjh/3eec3da3a2b/250611/4a6f286acaae782a93c0da0d1a9240ef.png - https://788910.xyz/api/snapshot?p=616fe37f157e3dbb9acf1deb538c4344&u=https://pic.rmb.bdstatic.com/bjh/3eec3da3a2b/250611/4a6f286acaae782a93c0da0d1a9240ef.png