如何获取符号链接的目标?

发布于 2024-07-30 11:43:58 字数 211 浏览 1 评论 0原文

我有一个字符串,其中包含现有符号链接的文件系统路径。 我想获取此链接指向的路径。

基本上我想要的和我通过这一点黑客攻击一样的:

s = "path/to/existing/symlink"
`ls -ld #{s}`.scan(/-> (.+)/).flatten.last

但我想在不花钱的情况下做到这一点。

I have a string containing the file system path to an existing symlink. I want to get the path that this link points to.

Basically I want the same that I'd get through this bit of hackery:

s = "path/to/existing/symlink"
`ls -ld #{s}`.scan(/-> (.+)/).flatten.last

but I want to do it without shelling out.

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

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

发布评论

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

评论(3

唐婉 2024-08-06 11:43:58

我认为 readlink 就是您正在寻找的内容:

File.readlink("path/to/symlink")

I think readlink is what you are looking for:

File.readlink("path/to/symlink")
夜清冷一曲。 2024-08-06 11:43:58
require 'pathname'
Pathname.new("symlink").realpath

或正如其他人所说的阅读链接

require 'pathname'
Pathname.new("symlink").realpath

or readlink as others said

腻橙味 2024-08-06 11:43:58

或者您可以尝试:

File.realpath("symlink_path")

这适用于符号链接和普通文件。

Or you can try:

File.realpath("symlink_path")

Which works for both symlinks and normal files.

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