运维 | 如何在 Linux 系统删除链接 | Linux

介绍

在 Linux 中,符号链接symbolic link,或者symlink)也称为链接,是一种特殊类型文件,用作指向一个文件快捷方式

使用方法

我们可以使用 ln 命令创建连接,那么怎样删除呢?

Linux没有用于删除符号链接特殊命令,不过可以使用 rm 命令,该命令主要用于删除文件目录如下

$ rm [file|dir]

当然也可以使用 unlink 命令,但是不要直接使用链接名称,因为它不仅仅用于删除链接,还会删除文件

$ unlink [file]

注意
unlink 命令只能删除文件,而不能删除目录

下面我们详细看一下。

ln <-s|-f> [symlink_origin_file|symlink_origin_dir] [symlink_target_file|symlink_target_dir]
  • 使用 rm 命令删除符号链接

rm 命令后面提供链接路径的名称:

$ rm [symlink_file|symlink_dir]

我们来看个具体例子如下命令中列出当前路径中的文件

$ ls -l

参考示例

上述列表my_link.txt 为符号链接,大家可以看到其是以 l表示链接)开头,名称显示它指向的文件

我们使用 rm 删除它,并验证

$ rm my_link.txt
$ ls -l

参考示例

下图所示,以这种方式删除软链接,但源文件仍然存在

可以使用 rm 命令一次删除多个符号链接:

$ rm [symlink1 symlink2 ... symlink3]
  • 使用 unlink 命令删除软链接

删除软链接的另一种方法是使用 unlink 命令。这个命令听起来好像只用于删除链接,但其实它也可以删除文件。使用方式如下

$ unlink [symlink_file|symlink_dir]

我们使用上面的例子,如下图所示

注意
unlink 命令不能一次删除多个链接。

  • 删除指向目录的软链接

我们可以创建指向文件的软连接,也可以创建指向目录的软链接。删除目录需要使用 -r 选项,但是删除指向目录的链接却不需要使用 -r 选项

使用方法与删除文件链接的方法相同

$ rm [symlink_file|symlink_dir]

删除指向目录的软连接时候,在目录的末尾不要添加斜杠,否则会报错

$ rm [symlink_dir/]

rm: 无法删除"symlink_dir/": 是一个目录

图是一个删除目录软链接的示例

注意
尽量不要使用 -f 选项强制删除指向目录的链接,因为它会删除目录的内容

  • 删除硬链接

与软链接不同,硬链接与原始文件几乎无法区分,你只能通过 inode number 注意到它。

看下面的例子

$ ls -li

total 4716
 544057 -rw-rw-r-- 1 root staff 4794657 Sep 27 20:36 my_hard_link.txt

删除硬链接与删除文件相同

rm [symlink_file|symlink_dir]
  • 同时删除链接文件和源文件

实际上,几乎没有在删除软链接的同时,也要删除原始文件的场景需求。当然,如果有的话,你可以通过符号链接找到原始文件,然后删除它。

rm "$(readlink '/path/to/symlink')" /path/to/symlink

注意
如果删除源文件,但是没有删除软链接,那么这个链接将会成为断开的或悬空的链接。

总结

虽然存在 unlink 命令,但是我建议使用 rm 命令来删除符号链接。因为这个是我们都比较熟悉的命令,经常使用它来删除文件,当然也可以用来删除符号链接。

原文地址:https://blog.csdn.net/weixin_39122254/article/details/133875290

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_41424.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注