如何确定软链接是否已存在?我不知道如何确定这一点。我是 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
软链接将显示为天蓝色