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 foo
/etc/passwd
Run Code Online (Sandbox Code Playgroud)
因此,符号链接foo
指向路径/etc/passwd
.
您可以调用该readlink(2)
函数,该函数将链接到的名称放入缓冲区.
请注意,结果具有长度(存储在返回值中)而不是NUL终止.因此,如果您想将其用作字符串,请自行附加NUL.
大多数高级/脚本语言(如perl或python)将提供一个readlink包装器,它将转换为通常的语言相应的字符串类型,因此您不会受到诸如NUL终止等细节的困扰.