文件读取链接功能
file readlink functionality
假设您有一个符号 link:
/tmp/zoo2 -> /tmp/zoo
而你只知道/tmp/zoo2,你如何解析symlink得到/tmp/zoo
在 shell 中使用 readlink 或者在 Ruby 中使用 File.readlink。
Elixir 有类似的东西吗?
您可以使用 :file.read_link
:
iex(1)> :file.read_link "/tmp/zoo2"
{:ok, '/tmp/zoo'}
如果link是相对的,你可以通过调用:filename.absname
获得绝对目标,以link的目录作为基目录:
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"
假设您有一个符号 link: /tmp/zoo2 -> /tmp/zoo
而你只知道/tmp/zoo2,你如何解析symlink得到/tmp/zoo
在 shell 中使用 readlink 或者在 Ruby 中使用 File.readlink。
Elixir 有类似的东西吗?
您可以使用 :file.read_link
:
iex(1)> :file.read_link "/tmp/zoo2"
{:ok, '/tmp/zoo'}
如果link是相对的,你可以通过调用:filename.absname
获得绝对目标,以link的目录作为基目录:
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"