Como encontro o inode de qualquer diretório?

Como encontro o inode de qualquer diretório?

Não há literalmente nada no Google que eu possa encontrar que me ajude a responder a essa pergunta. Presumo que esteja passando algum outro parâmetro para ls -i?

Responder1

Sim, o argumento -i imprimirá o número do inode de cada arquivo ou diretório que o comando ls está listando. Como você deseja imprimir o número do inode de um diretório, sugiro usar o argumento -d para listar apenas os diretórios. Para imprimir o número do inode no diretório /path/to/dir, use a seguinte linha de comando:

ls -id /path/to/dir

De man ls:

   -d, --directory
          list  directory entries instead of contents, and do not derefer‐
          ence symbolic links
   -i, --inode
          print the index number of each file

Responder2

Isso também funciona com estatísticas:

DIR=/
stat -c '%i' $DIR

Deman stat:

   -c  --format=FORMAT
          use the specified FORMAT instead of the default; output  a  new‐
          line after each use of FORMAT
[...]

   The valid format sequences for files:    
       %i     inode number

Responder3

Você pode encontrar o inode do arquivo e diretório com -ia opção

ls -id /home/user/dir

Você pode obter informações do inode consumido do seu sistema

df -hi

Responder4

Em c++:

#include <sys/stat.h>

ulong getInode( const QString &path )
{
        struct stat st;
        stat( path.toUtf8(), &st );
        return st.st_ino;
}

Isso deve funcionar para arquivos e pastas.

informação relacionada