Answers:
尝试这个 :
readlink -f /path/file
(如果有多个级别,则是符号链接的最后一个目标)
如果只需要下一级符号链接,请使用:
readlink /path/file
user@shell a5$ readlink -f ./student1.java
我得到user@shell a5$
readlink /path/file
将返回下一个目标。
1。
ls -l bin
生产
lrwxrwxrwx 1 az az 14 Ноя 12 22:13 bin -> ../Gdrive/bin/
2。
file bin
生产
bin: symbolic link to `../Gdrive/bin/'
3。
stat bin
生产
File: «bin» -> «../Gdrive/bin/»
最简单的方法:cd
到符号链接所在的位置,并ls -l
列出文件的详细信息。
->
符号链接之后右侧的部分是它指向的目标。
例如:
lrwxrwxrwx 1 userName groupName 22 Jan 17 13:29链接到temp.txt-> /home/user/temp.txt
在这里,我们有“链接到temp.txt”,它指向(->
)“ / home / user / temp.txt ”。
但是,就像@Gilles Quenot指出的那样,您也可以readlink -f /path/to/symbolic_link
在科斯塔斯扩展
假设你有
ln -s test.txt sym_link_1.txt
ls -l sym_link_1.txt
lrwxrwxrwx. 1 a1 g1 8 Jan 7 16:59 sym_link_1.txt -> test.txt
您可以在脚本中执行(使用反引号)
ln -s `readlink sym_link_1.txt` sym_link_2.txt
那你有
ls -l sym_link_*.txt
lrwxrwxrwx. 1 a1 g1 8 Jan 7 16:59 sym_link_1.txt -> test.txt
lrwxrwxrwx. 1 a1 g1 8 Jan 7 17:01 sym_link_2.txt -> test.txt
查找链接文件的另一种方法(以前没有回答)是使用以下命令,
file -h <path_to_dir>/* | grep link
命令:
file -h /home/prateek/* | grep link
输出:
/ home / prateek /音乐:指向/ media / prateek / HD-E1 / Music的符号链接
file1
是符号链接file0
怎么办?您是要找到符号链接(file0
)的最后一个目标,还是仅找到下一个(symlink )的目标file1
?