有没有办法看到符号链接的实际内容?

fab*_*bio 38 linux filesystems shell symlink cat

当你这样做

cat some-symlink-to-some-real-file
Run Code Online (Sandbox Code Playgroud)

它显示了真实文件的内容,而不是符号链接本身的内容.有没有办法看到它实际上是什么?

Ple*_*and 46

ls -l命令将显示:

$ ls -l foo
lrwxrwxrwx 1 user group 11 2010-12-31 19:49 foo -> /etc/passwd
Run Code Online (Sandbox Code Playgroud)

readlink命令:

$ readlink foo
/etc/passwd
Run Code Online (Sandbox Code Playgroud)

因此,符号链接foo指向路径/etc/passwd.

  • 为了使这个更清楚,符号链接的"内容"只不过它所指的名称. (16认同)

Ben*_*igt 8

您可以调用该readlink(2)函数,该函数将链接到的名称放入缓冲区.

请注意,结果具有长度(存储在返回值中)而不是NUL终止.因此,如果您想将其用作字符串,请自行附加NUL.

大多数高级/脚本语言(如perl或python)将提供一个readlink包装器,它将转换为通常的语言相应的字符串类型,因此您不会受到诸如NUL终止等细节的困扰.