Подтвердить что ты не робот

Как получить цель символической ссылки?

У меня есть строка, содержащая путь файловой системы к существующей символической ссылке. Я хочу получить путь, на который указывает эта ссылка.

В принципе, я хочу, чтобы я прошел через этот бит хакера:

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

но я хочу сделать это без обхода.

4b9b3361

Ответ 1

Я думаю, readlink - это то, что вы ищете:

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

Ответ 2

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

или readlink, как говорили другие

Ответ 3

Или вы можете попробовать:

File.realpath("symlink_path")

Работает как для символических ссылок, так и для обычных файлов.