web-dev-qa-db-ja.com

シンボリックリンクのターゲットを取得するにはどうすればよいですか?

既存のシンボリックリンクへのファイルシステムパスを含む文字列があります。このリンクが指すパスを取得したい。

基本的に、私はこのハッカーのビットを通過するのと同じものを望みます。

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

でも砲撃せずにやりたいです。

48
kch

私は readlink があなたが探しているものだと思います:

File.readlink("path/to/symlink")
66
Inshallah
require 'pathname'
Pathname.new("symlink").realpath

または他の人が言ったようにreadlink

46
piotrsz

または、あなたは試すことができます:

File.realpath("symlink_path")

これはシンボリックリンクと通常のファイルの両方で機能します。

12
Juan Ibiapina