Is it possible to get the abolute path of the link that it is pointing to? Is there any simple system command?
I need for all of the following OS HP-UX 11i, 1123u, 1123i AIX 5.2 and 5.3 Suse Linux 10 Solaris 10
Is it possible to get the abolute path of the link that it is pointing to? Is there any simple system command?
I need for all of the following OS HP-UX 11i, 1123u, 1123i AIX 5.2 and 5.3 Suse Linux 10 Solaris 10
您没有指定语言,所以我认为您想要一个可以在您使用的任何shell中运行的命令。ls
命令有-l
(这是一个ell)选项,可以打印出很多关于文件的信息。最后一位信息是完整路径,所以你应该可以说
ls -l file | awk {print $NF}
在任何符合SUS2的机器上(应该是所有的商业UNIX)。但是,如果文件或指向该文件的任何目录都有空间,则会出现问题。
如果您正在寻找系统调用,您需要readlink(2)
。这是标准化的,因此应该在所有符合POSIX的系统上都可以使用。
以下是它的用法示例,取自前面给出的链接:
#include <unistd.h>
char buf[1024];
ssizet_t len;
if ((len = readlink("/modules/pass1", buf, sizeof(buf)-1)) != -1)
buf[len] = ;