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

发布于 2024-10-10 12:35:59 字数 124 浏览 9 评论 0原文

当您这样做时

cat some-symlink-to-some-real-file

,它会显示真实文件的内容,而不是符号链接本身的内容。有没有办法看到里面到底有什么?

When you do

cat some-symlink-to-some-real-file

it shows the contents of the real file, not what is within the symlink itself. Is there a way to see what's actually in it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

计㈡愣 2024-10-17 12:35:59

ls -l 命令将向您显示:

$ ls -l foo
lrwxrwxrwx 1 user group 11 2010-12-31 19:49 foo -> /etc/passwd

或者 readlink 命令

$ readlink foo
/etc/passwd

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

The ls -l command will show you that:

$ ls -l foo
lrwxrwxrwx 1 user group 11 2010-12-31 19:49 foo -> /etc/passwd

Or the readlink command:

$ readlink foo
/etc/passwd

So, the symbolic link foo points to the path /etc/passwd.

记忆之渊 2024-10-17 12:35:59

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

请注意,结果具有长度(存储在返回值中)而不是以 NUL 结尾。因此,如果您想将其用作字符串,请自己附加一个 NUL。

大多数高级/脚本语言,例如 perl 或 python,将提供一个 readlink 包装器,该包装器可以转换为通常的语言适当的字符串类型,因此您不会被诸如 NUL 终止之类的细节所困扰。

You can call the readlink(2) function, which will place the linked-to name into a buffer.

Note that the result has a length (stored in the return value) rather than being NUL-terminated. So if you want to use it as a string, append a NUL yourself.

Most higher-level/scripting languages, such as perl or python, will provide a readlink wrapper that converts to the usual language-appropriate string type, so you won't be bothered by details such as NUL-termination.

我早已燃尽 2024-10-17 12:35:59

关于手册页 http://man7.org/linux/man-pages /man7/symlink.7.html 符号链接是常规文件(带有特殊标志),其内容包含目标路径。因此,您可以将符号链接复制到 FAT 分区并读取其中的内容。

Regarding to man page http://man7.org/linux/man-pages/man7/symlink.7.html symlink is regular file (with special flag) with path to target in its content. So you could copy symlink to FAT partition and read it content there.

风柔一江水 2024-10-17 12:35:59

尝试

find . -type l -exec ls -la {} \;

Try

find . -type l -exec ls -la {} \;
锦上情书 2024-10-17 12:35:59

请参阅下面的 ls -l 结果。每个链接的大小正是存储原始文件名称所需的字节数。正如 @BenVoigt 提到的,甚至没有最终的 NUL。当然它不是文件的绝对路径。

结果

See result of ls -l below. Size of each link is exactly how many bytes is needed for storing name of the original file. Not even final NUL is there, as @BenVoigt mentions. And surely it is not the absolute path of the file.

result

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文