假设您有一个符号链接: / tmp / zoo2 - >的/ tmp /动物园
你只知道 / tmp / zoo2 ,如何解决符号链接到 / tmp / zoo
在shell中使用 readlink 或在Ruby中执行 File.readlink 。
Elixir有类似的东西吗?
答案 0 :(得分:3)
您可以使用:file.read_link
:
iex(1)> :file.read_link "/tmp/zoo2"
{:ok, '/tmp/zoo'}
如果链接是相对的,您可以通过调用:filename.absname
获取绝对目标,将链接目录作为基本目录:
iex(1)> link = "/tmp/zoo2"
"/tmp/zoo2"
iex(2)> {:ok, relative_target} = :file.read_link link
{:ok, 'zoo'}
iex(3)> absolute_target = :filename.absname relative_target, :filename.dirname link
"/tmp/zoo"