确定软链接是否已存在

确定软链接是否已存在

如何确定软链接是否已存在?我不知道如何确定这一点。我是 Unix/Linux 新手

答案1

作为用户

$ ls -l 

如果模式位(第一列)的第一个字符是,则l它是一个链接。

如果你只是想通过脚本进行测试,

$ test -L maybealink && echo "it is a symlink"

答案2

我假设你想找到指向特定文件的符号链接,但不知道它们可能在哪个目录中。在这种情况下,输入

find . -lname "path/to/filename" -ls

例如

find . -lname "develop/source/itried.cpp" -ls

查找并显示(从当前目录开始)itried.cpp目录中名为的文件的任何符号链接develop/source

或者

find . -lname "*.cpp" -ls

查找.cpp当前目录下任何文件的符号链接。

之后.的 find 告诉它从当前目录向下搜索。

答案3

如果当前目录中有软链接

使用ll命令显示文件长列表

输出将会像这样

lrwxrwxrwx   1 root root    24 Dec  2  2011 default-java -> java-1.6.0-openjdk-amd64/
drwxr-xr-x   6 root root  4096 Oct  8 11:29 java-1.5.0-gcj-4.6/
lrwxrwxrwx   1 root root    24 Dec  2  2011 java-1.6.0-openjdk -> java-1.6.0-openjdk-amd64/
lrwxrwxrwx   1 root root    20 Jul 17 21:41 java-1.6.0-openjdk-amd64 -> java-6-openjdk-amd64/
-rw-r--r--   1 root root  2387 Jul 17 21:41 .java-1.6.0-openjdk-amd64.jinfo

如果 rwrwrw 之前有 l,则为软链接

lrwxrwxrwx   1 root root    24 Dec  2  2011 default-java -> java-1.6.0-openjdk-amd64/

这是一个软链接,java-1.6.0-openjdk-amd64 已软链接到 default-java

软链接将显示为天蓝色

相关内容