我的系统到处都有符号链接,因此给定一个特定目录,有没有一种简单的方法可以找出该目录位于哪个挂载点?对 solaris 特别感兴趣。
答案1
你可以试试:
df dirname
它应该提供文件系统和挂载点目标符号链接。
如果您想知道符号链接本身的挂载点和文件系统:
df $(dirname /path/to/dirname)
(这是命令dirname
和一个名为“dirname”的虚拟目录,很容易让人困惑。)
答案2
我知道这提供的信息比您要求的多一点。但您可以使用 realpath() 库调用制作一个简单的 C 程序。我以前这样做过,以找出特定文件的确切位置。从那里开始,确定文件系统应该是一个简单的问题。示例程序如下所示:
/*
* realpath - a program to find the real path
*/
#include <limits.h>
#include <stdlib.h>
#include <stdio.h>
main(int argc, char **argv, char **envp)
{
void exit();
char realx[10000];
printf("\nORIGINAL PATH:\t%s\n",argv[1]);
printf("Real PATH:\t%s\n",realpath(argv[1],realx));
exit(0);
}