获取符号链接的完整路径

时间:2018-11-11 08:09:19

标签: linux perl

我想获得符号链接的完整路径。

请考虑以下内容:

/path/to/folder/link.file链接到/path/to/folder/original.txt

我需要获取链接的的完整路径,而不是原始文件,例如:

$fullpath = abs_path("link.file");

将返回/path/to/folder/link.file而不是/path/to/folder/original.txt

我尝试阅读,但找不到有效的解决方案。

为明确起见,链接文件本身的绝对路径

1 个答案:

答案 0 :(得分:2)

使用不检查文件系统的方法,例如File::Spec::Functionsrel2abs

[~]$ perl -MCwd=abs_path -e'CORE::say abs_path($ARGV[0])' tmp
/tmp/ikegami

[~]$ perl -MFile::Spec::Functions=rel2abs -e'CORE::say rel2abs($ARGV[0])' tmp
/home/ikegami/tmp

当然,如果可以保证它是相对路径,则可以简单地使用以下内容:

[~]$ perl -MCwd=getcwd -e'CORE::say getcwd()."/".$ARGV[0]' tmp
/home/ikegami/tmp