查找符号链接的原始文件

k-R*_*ker 28 symlink

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

Gil*_*not 45

尝试这个 :

readlink -f /path/file
Run Code Online (Sandbox Code Playgroud)

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

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

readlink /path/file
Run Code Online (Sandbox Code Playgroud)

2020年编辑:

现在,GNU coreutils拥有realpath

realpath /path/file
Run Code Online (Sandbox Code Playgroud)

类似于readlink -f默认

  • FWIW `readlink /path/file` 将返回下一个目标。 (3认同)

Cos*_*tas 6

1.

ls -l bin
Run Code Online (Sandbox Code Playgroud)

生产

lrwxrwxrwx 1 az az 14 ??? 12 22:13 bin -> ../Gdrive/bin/
Run Code Online (Sandbox Code Playgroud)

2.

file bin
Run Code Online (Sandbox Code Playgroud)

生产

bin: symbolic link to `../Gdrive/bin/' 
Run Code Online (Sandbox Code Playgroud)

3.

stat bin
Run Code Online (Sandbox Code Playgroud)

生产

File: «bin» -> «../Gdrive/bin/»
Run Code Online (Sandbox Code Playgroud)

  • @k-Rocker 如果你解释一下你打算做什么会更好。 (2认同)