查找符号链接的原始文件

查找符号链接的原始文件

假设我的主目录中的一个文件到不同分区上的另一个文件有一个符号链接。如何找到链接文件的目标位置?我的意思是,假设我file2/home/user/;但它是到另一个的符号链接file1。我如何找到file1而不需要手动遍历每个分区/目录来查找文件?

答案1

使用阅读链接:

readlink -f /path/file

(如果有多个级别,则为符号链接的最后一个目标)

如果您只想要下一级符号链接,请使用:

readlink /path/file

您还可以使用真实路径在现代系统上GNU 核心工具(例如Linux), 自由BSD,网络BSD,开放BSD或者蜻蜓:

realpath /path/file

这类似于readlink -f.

答案2

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/»

答案3

最简单的方法: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

答案4

查找链接文件的另一种方法(之前没有回答)是使用以下命令,

file -h <path_to_dir>/* | grep link

命令:

file -h /home/prateek/* | grep link

输出:

/home/prateek/Music:到 /media/prateek/HD-E1/Music 的符号链接

相关内容