安卓系统

如何在Linux中删除(删除)符号链接

【Proladon】#dc#Discord教學#身分組管理#自動分配身分組、 - Join Role

【Proladon】#dc#Discord教學#身分組管理#自動分配身分組、 - Join Role

目录:

Anonim

符号链接,也称为符号链接,是一种指向另一文件或目录的特殊类型的文件。 这有点像Windows中的快捷方式。 符号链接可以指向相同或不同文件系统或分区上的文件或目录。

在本指南中,我们将向您展示如何使用 rm unlink find 命令在Linux / UNIX系统中删除(删除)符号链接。

在你开始之前

要删除符号链接,您需要对包含符号链接的目录具有写权限。 否则,将出现“不允许操作”错误。

删除符号链接时,它指向的文件不受影响。

使用 ls -l 命令检查给定文件是否为符号链接,并查找符号链接指向的文件或目录。

ls -l /usr/bin/python

lrwxrwxrwx 1 root root 9 Apr 16 2018 /usr/bin/python -> python2.7

第一个字符“ l”表示文件是符号链接。 “->”符号显示符号链接指向的文件。

rm 删除符号链接

rm 命令删除给定的文件和目录。

要删除符号链接,请调用 rm 命令,后跟符号链接名称作为参数:

rm symlink_name

成功后,命令以零退出,不显示任何输出。

使用 rm 可以一次删除多个符号链接。 为此,将符号链接的名称作为参数传递,并用空格分隔:

rm symlink1 symlink2

要在删除符号链接之前得到提示,请使用 -i 选项:

rm -i symlink_name

要确认,请输入 y 并按 Enter

rm: remove symbolic link 'symlink_name'?

如果符号链接指向目录,请不要在末尾添加 / 斜杠。 否则,您将得到一个错误:

rm symlink_to_dir/

rm: cannot remove 'symlink_to_dir/': Is a directory

如果参数名称以 / 结尾,则 rm 命令假定该文件是目录。 发生该错误是因为,如果不使用 -d -r 选项,则 rm 无法删除目录。

为了安全起见,使用 rm 删除符号链接时,请不要使用 -r 选项。 例如,如果您键入:

rm -f symlink_to_dir/

目标目录的内容将被删除。

使用 unlink 删除符号链接

unlink 命令删除给定的文件。 与 rm 不同, unlink 仅接受单个参数。

要删除符号链接,请运行 unlink 命令,后跟符号链接名称作为参数:

unlink symlink_name

如果命令成功执行,则不显示任何输出。

不要在符号链接名称的末尾添加 / 末尾斜杠,因为 unlink 无法删除目录。

查找和删除损坏的符号链接

要查找给定目录下所有断开的符号链接,请运行以下命令:

find /path/to/directory -xtype l

/path/to/directory/symlink1 /path/to/directory/subdir/symlink2

该命令将列出目录及其子目录下的所有断开的链接。

find /path/to/directory -maxdepth 1 -xtype l

/path/to/directory/symlink1

找到损坏的符号链接后,可以使用 rm 手动删除它们或 unlink 或者使用 find 命令的 -delete 选项:

find /path/to/directory -xtype l -delete

结论

要删除符号链接,请使用 rm unlink 命令,后跟符号链接的名称作为参数。 删除指向目录的符号链接时,请勿在符号链接名称后添加斜杠。

rm unlink查找终端