Linux删除符号链接(Softlink)
时间:2020-01-09 10:41:52 来源:igfitidea点击:
如何使用命令提示符删除Linux操作系统中的符号链接(软链接)?
如何在Linux中删除符号链接?
符号链接(也称为软链接或者符号链接)由一种特殊类型的文件组成,该文件用作对另一个文件或者目录的引用。
您可以使用以下任一命令在Linux操作系统中删除符号链接:
rm
命令删除Linux中每个给定的文件,包括符号链接。unlink
命令在Linux中删除一个指定的文件名,包括符号链接。
让我们看一些有关在Linux中删除(删除)符号链接的示例。
Linux删除符号链接文件
使用以下语法:
rm linkname unlink linkname
例子
首先,我们将使用ln命令在Linux中创建一个新的符号链接。
使用cd命令到/tmp /目录:
cd /tmp/ ## create a new symbolic for demo purpose ## ln -s /etc/resolv.conf dns ## List it ## ls -l dns
输出示例:
lrwxrwxrwx 1 Hyman Hyman 16 2009-08-16 04:28 dns -> /etc/resolv.conf
现在,我们将使用rm命令或者unlink命令删除dns符号链接,如下所示:
rm dns ## 或者 unlink dns
使用ls命令验证它:
ls -l dns ls -l /etc/resolv.conf
收到确认提示
我们可以通过将-i传递给rm来强制在每次删除符号链接之前进行提示:
rm -i {link-name} rm -i -v test-link
rm: remove symbolic link 'test-link'? y removed 'test-link'
删除符号链接目录
语法相同:
rm linkDirName unlink linkDirName
请避免在" linkDirName"末尾追加" /"。
使用cd命令将其插入/tmp /:
cd /tmp/ ## create a new symlink for demo purpose ## ln -s /etc test ## List it ## ls -ld test
输出示例:
lrwxrwxrwx 1 Hyman Hyman 4 2009-08-16 04:31 test -> /etc
现在,使用以下任一命令删除" test"符号链接目录:
rm test ## 或者 unlink test
确保使用ls命令删除符号链接:
ls -ld test ls -ld /etc
使用find命令删除符号链接
这是我们可以使用查找来搜索并列出所有符号链接:
find {/path/to/dir} -type l -action find {/path/to/dir} -type l -name 'files-regex-to-search' -action find {/path/to/dir} -type l -iname 'Case-Insensitive-files-regex-to-search' -action find {/path/to/dir} -lname 'files-regex-to-search' -action
说出列出/tmp/bin /中的所有符号链接,运行:
find /tmp/bin/ -type l -print
仅列出* .txt或者* .sh符号链接,运行:
find /tmp/bin/ -type l -iname "*.sh" -print find /tmp/bin/ -type l -iname "*.txt" -print ## modern syntax for GNU/find ## find /tmp/bin/ -lname "*.txt" -print find /tmp/bin/ -lname "*.db" -print find /tmp/bin/ -lname "*.sh" -print
查找并删除所有符号链接
您所需要做的就是按如下所示将-print
操作替换为-delete
以删除所有* .sh符号链接:
find /tmp/bin/ -lname "*.sh" -delete
要获得确认,需要查找所有* .txt符号链接并将其删除时,请使用以下语法:
find /tmp/bin/ -type l -name "*.txt" -exec rm -i {} + find /tmp/bin/ -type l -name "*.db" -exec rm -i {} +
查找命令选项其中:
- -type l:仅查找符号链接
-lname" * .txt"
:文件是一个符号链接,其内容与shell模式匹配,例如* .txt。将-ilname" pattern"
传递给不区分大小写的匹配项。该选项仅适用于最新版本的GNU/find。-print
:打印匹配的文件列表。- -delete:删除/删除匹配的符号链接。
-exec rm -i {} +
:使用带有确认的rm命令删除/删除匹配的符号链接
Linux删除符号链接命令选项
执行以下命令:
rm --help unlink --help