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

时间:2009-08-06 09:45:01

标签: ruby symlink

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

基本上我想要通过这个hackery获得同样的东西:

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

但是我想在没有炮轰的情况下这样做。

3 个答案:

答案 0 :(得分:65)

我认为readlink正是您所寻找的:

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

答案 1 :(得分:46)

require 'pathname'
Pathname.new("symlink").realpath
像其他人所说的

或readlink

答案 2 :(得分:12)

或者您可以尝试:

File.realpath("symlink_path")

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