Linux 系统中如何删除软连接

在Linux中,软连接和硬链接的区别?

说实话,说到Linux中的软链接和硬链接,我刚接触的时候是很晕的。
后来我明白了,感觉这两者就像武侠小说里的剑技和掌功。
它们都能达到“连接”的效果,但内在的侧重点却完全不同。

我们先来说说硬链接。
这个东西给我印象最深的是,在处理服务器日志备份的时候,它被大量使用。
例如,如果您有一个巨大的日志文件log.txt,则需要每天生成一个备份log_2 02 3 1 02 6 .txt。
如果使用硬链接,则相当于执行ln log.txt log_2 02 3 1 02 6 .txt命令。
这两个文件实际上是“同一个人”,指向同一个inode。
如果删除 log_2 02 3 1 02 6 .txt,log.txt 仍然存在并且仍在运行。
这就像武术中两个人练“同一套剑法”,剑规是共享的。
但硬链接有一个缺陷,那就是它们必须在同一个文件系统中。
如果将一个挂载点上创建的硬链接移动到另一挂载点,该硬链接将变得无效。
这是特别烦人的。
此外,硬链接不能链接到目录。
我记得内核设计不允许这样做,因为担心会造成无限循环。

软链接更加灵活,简直就是“路径人”。
我有一个特殊的形象:在Linux系统中,/bin和/sbin实际上是软链接,都指向/usr/bin目录。
为什么? 因为软链接可以跨越文件系统,可以链接目录。
当您将软件更新到/usr/local/bin时,只需将软链接/bin和/sbin指向新位置,所有系统命令仍然会像以前一样工作。
这就像一个“道路指南”,无论你在哪座山上,都能引导你走向正确的宗派。
但软链接有一个致命的缺点,那就是“断链”太脆弱了。
如果删除了原文件,或者删除了原文件所在的目录,软链接就会立即变成一张废纸。
对于ln -s /old/path /new/link等操作,一旦旧路径消失,新链接就会报“找不到文件”。

记得有一次在虚拟机中配置网络时,软链接丢失了。
结果网卡配置命令突然不能用了。
我急得头都痛了。
后来我发现链接 ln -s /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-wlan0 消失了。
直接重建软链接就可以了,但是教训是深刻的:使用软链接时,必须时刻注意源文件的存在。

说到选择,其实很简单。
如果你害怕文件被误删除,又不想占用多倍的空间,硬链接是一个不错的选择。
我曾经管理几十GB的监控视频,并使用硬链接作为备份,以节省空间并确保安全。
但如果你是搞系统架构的,或者想在目录结构上来个“大转变”,软链接绝对是你的法宝。
无论如何,这两种链接都是好东西。
关键要看你使用的场景。

Linux 系统中如何删除软连接

说实话,关于Linux中的软链接确实很有趣。
当我第一次意识到这一点时,我几乎混淆了硬链接和软链接。
软链接就像计算机桌面上的快捷方式,ln 命令是创建它的工具。
但说到如何删除,Linux系统并没有给出单独的命令,这还是比较有趣的。

我通常使用警告来做到这一点。
例如,如果软链接名为mylink,则直接输入rm mylink 即可。
但这是陷阱。
如果 mylink 指向的文件仍然存在,则无法删除该链接。
我当时就走进了这个陷阱。
我想删除链接,却发现同事指向的文件被删除了,系统傻傻地报错。
这时用ls命令来确认。
如果mylink仍然在撒谎,则说明没有成功删除。
我通常会经过问同事:“嘿,你删除文件的时候,顺便删除我的链接吧?”
批量删除很简单,比如 rm mylink anotherlink ,一次可以删除多个。
但是,有些使用 unlink 命令。
看来这个命令专门用于删除链接。
我尝试取消链接mylink,它确实被删除了。
但结果很棒。
与rm相同。
如果链接中显示的文件仍然存在,则无法删除它。
另外,unlink不能一次删除多次,这一点相当烦人。
由于我只使用unlink,所以我喜欢使用rm命令,并且手指在更改命令时工作得很好。

删除目录的软链接时,切勿在目录名称后添加尾行。
我的朋友错了。
他想删除 /home/user 的链接,但最终输入了 rm /home/user/。
系统崩溃并说找不到文件。
这很奇怪。
他们只显示文件,但显示没有尾部的目录。

另一个重要提示,永远不要使用 -f- 选项删除指向目录的软链接。
上次尝试时,目录中的所有文件都被丢弃了,这太糟糕了。
所以这里你要记住,当软链接指向一个目录时,rm命令一定要诚实实用,不能耍花招。

困难的联系是完全不同的。
原始包就像兄弟一样,具有相同数量的索引节点。
删除硬链接其实和删除普通文件没有什么区别。
我曾经在服务器上管理一堆日志文件,它们使用了很多硬盘。
到了某个时候,如果我删除了伤害链接,整个伤害系统就会瘫痪。

最糟糕的情况是你想删除原始文档,但链接仍然挂在那里。
这次就直接删除文件了,链接自然就断了。
但请注意,如果您再次单击损坏的链接,您会收到“找不到文件”提示,因此不要指望它能够正常工作。

说白了,Linux处理软链接的方式就证明了它的重要性。
使用rm命令非常安全,但也容易出错,所以在工作之前最好先确认一下目标文件的状态。
我已经使用了十年,软链接仍然让我经历了很多陷阱,但每次经历它们我都能学到一些东西。