Linux 系统中删除软连接具体方法
发布时间:2022-12-06 10:28:29 所属栏目:Linux 来源:
导读: 软链接是linux中一个常用命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接。
Pixelated word Linux made from cubes, mosaic pattern
我们可以使用 ln 命令来创建软连接,那么怎样
Pixelated word Linux made from cubes, mosaic pattern
我们可以使用 ln 命令来创建软连接,那么怎样
|
软链接是linux中一个常用命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接。 Pixelated word Linux made from cubes, mosaic pattern 我们可以使用 ln 命令来创建软连接,那么怎样删除呢? Linux 中没有用于删除符号链接的特殊命令,不过可以使用 rm 命令,该命令主要用于删除文件和目录,如下: rm?symbolic_link_name 当然也可以使用 unlink 命令,但是不要直接使用软链接的名称,因为它不仅仅用于删除链接,还会删除文件。 unlink?symbolic_link_name 下面我们来详细看一下。 使用 rm 命令删除符号链接 在 rm 命令后面提供链接路径的名称: rm?name_or_path_of_link 我们来看个具体例子,如下命令中列出当前路径中的文件: $?ls?-l total?4708 -rw-rw-r--?1?abhishek?abhishek?4794657?Sep?27?20:36?export.json -rw-rw-r--?1?abhishek?abhishek?????311?Sep?22?12:19?line.txt lrwxrwxrwx?1?abhishek?abhishek??????26?Oct?17?11:24?mylink?->?./Documents/sample-mark.md -rw-rw-r--?1?abhishek?abhishek?????106?Sep?27?20:39?redirects.json -rw-r--r--?1?abhishek?abhishek???12817?Sep?22?12:28?sample.txt 上述列表中 mylink 为符号链接,大家可以看到其是以 l (表示链接)开头,名称显示它指向的文件。 我们使用 rm 删除它,并验证: $?rm?mylink?? $?ls?-l total?4708 -rw-rw-r--?1?abhishek?abhishek?4794657?Sep?27?20:36?export.json -rw-rw-r--?1?abhishek?abhishek?????311?Sep?22?12:19?line.txt -rw-rw-r--?1?abhishek?abhishek?????106?Sep?27?20:39?redirects.json -rw-r--r--?1?abhishek?abhishek???12817?Sep?22?12:28?sample.txt 如下图所示,源文件仍然存在: 删除多个链接 可以使用 rm 命令一次删除多个符号链接: rm?symlink1?symlink2?symlink3 使用 unlink 命令删除软链接 删除软链接的另一种方法是使用 unlink 命令。这个命令乍听起来好像只用于删除链接,但其实它也可以删除文件。使用方式如下: unlink?name_or_path_of_link 我们使用上面的例子,如下图所示: unlink 不能一次删除多个链接。 删除指向目录的软链接 我们可以创建指向文件的软连接,也可以创建指向目录的软链接。删除目录需要使用 -r 选项,但是删除指向目录的链接却不需要使用 -r 选项。 使用方法与删除文件链接的方法相同: rm?name_or_path_to_link_to_dir 删除指向目录的软连接的时候,在目录的末尾不要添加斜杠,否则会报错: $?rm?link_to_dir/ rm:?cannot?remove?'link_to_dir/':?Is?a?directory 下图是一个删除目录软链接的示例: 注意,尽量不要使用 -f 选项强制删除指向目录的链接,因为它会删除目录的内容。如下图所示: 删除硬链接 与软链接不同,硬链接与原始文件几乎无法区分,你只能通过 inode number 注意到它。 看下面的例子: $?ls?-li total?4716 544057?-rw-rw-r--?1?abhishek?abhishek?4794657?Sep?27?20:36?export.json 544884?-rw-rw-r--?2?abhishek?abhishek?????311?Sep?22?12:19?hard_link 544884?-rw-rw-r--?2?abhishek?abhishek?????311?Sep?22?12:19?line.txt 1181365?drwxrwxr-x?2?abhishek?abhishek????4096?Oct?17?12:33?my_dir 546419?-rw-rw-r--?1?abhishek?abhishek?????106?Sep?27?20:39?redirects.json 删除硬链接与删除文件相同: rm?path_or_name_of_hard_link 删除链接文件会怎样呢? 实际上,几乎没有在删除软链接的同时,也要删除原始文件的场景和需求。当然,如果有的话,你可以通过符号链接找到原始文件,然后删除它。 rm?"$(readlink?'/path/to/link')"?/path/to/link 注意linux软链接,如果删除源文件,但是没有删除软链接,那么这个链接将会成为断开的或悬空的链接。 虽然存在 unlink 命令,但是我建议使用 rm 命令来删除符号链接。因为这个是我们都比较熟悉的命令,经常使用它来删除文件,当然也可以用来删除符号链接。 (编辑:我爱资讯网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐


