Como posso descobrir em qual sistema de arquivos um determinado diretório está?

4

Eu tenho um sistema com links simbólicos em todos os lugares, então, dado um diretório em particular, existe uma maneira simples de descobrir em qual ponto de montagem esse diretório está? Particularmente interessado em solaris.

    
por Stu 05.02.2010 / 20:49

2 respostas

3

Você pode tentar:

df dirname

Ele deve fornecer o sistema de arquivos e o ponto de montagem do destino do link simbólico.

Se você quiser saber o ponto de montagem e o sistema de arquivos do link simbólico:

df $(dirname /path/to/dirname)

(Esse é o comando dirname e um diretório fictício chamado "dirname", confuso o suficiente.)

    
por 05.02.2010 / 21:06
0

Sei que isso fornece um pouco mais de informações do que você solicitou. Mas você poderia criar um programa C simples usando a chamada da biblioteca realpath (). Eu fiz isso antes para descobrir exatamente onde estava um arquivo específico. A partir daí, deve ser uma simples questão de determinar o sistema de arquivos. Um programa de amostra seria parecido com:

 /*
 * 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);

 }
    
por 06.02.2010 / 00:29