获取它指向的链接的路径?

发布于 2024-07-16 07:07:29 字数 129 浏览 10 评论 0 原文

是否可以获得它指向的链接的绝对路径? 有没有简单的系统命令?

我需要以下所有操作系统 HP-UX 11i、1123u、1123i AIX 5.2 和 5.3 苏塞Linux 10 索拉里斯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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

魄砕の薆 2024-07-23 07:07:29

您没有指定语言,所以我假设您想要一个可以在您使用的任何 shell 中运行的命令。 ls 命令具有 -l (这是一个 ell)选项,它打印出有关文件的大量信息。 最后一位信息是完整路径,因此您应该能够

ls -l file | awk '{print $NF}'

在任何 SUS2 兼容机器(应该是所有商业 UNIX)上说出。 如果文件或文件所在的任何目录有空格,则会出现问题。

You didn't specify a language, so I assume you want a command that can be run in whatever shell you are using. The ls command has the -l (that is an ell) option which prints out a lot of information about the file. The last bit of information is the full path, so you should be able to say

ls -l file | awk '{print $NF}'

on any SUS2 compliant machine (which should be all of the commercial UNIXes). This will have a problem if the file or the any of the directories leading up to the file have spaces though.

蝶…霜飞 2024-07-23 07:07:29

如果您正在寻找系统调用,则需要 readlink(2) 。 这是标准化的,因此应该在所有 POSIX 兼容系统上可用。

下面是它的用法示例,取自前面给出的链接:

#include <unistd.h>

char buf[1024];
ssizet_t len;

if ((len = readlink("/modules/pass1", buf, sizeof(buf)-1)) != -1)
    buf[len] = '\0';

如果您正在寻找命令行实用程序,它看起来没有一个标准化的,但是 GNU (Linux) 和 BSD 都有 readlink(1)

If you are looking for a system call, you want readlink(2). This is standardized, and so should be available on all POSIX compliant systems.

Here's an example of its usage, taken from the link given earlier:

#include <unistd.h>

char buf[1024];
ssizet_t len;

if ((len = readlink("/modules/pass1", buf, sizeof(buf)-1)) != -1)
    buf[len] = '\0';

If you're looking for a command line utility, it doesn't look like there is one standardized, but GNU (Linux) and BSD both have readlink(1).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文