Как найти индекс любого каталога?

Как найти индекс любого каталога?

В гугле буквально ничего нет, что помогло бы мне ответить на этот вопрос. Я предполагаю, что он передает какой-то другой параметр в ls -i?

решение1

Да, аргумент -i выведет номер инода каждого файла или каталога, перечисленного командой ls. Поскольку вы хотите вывести номер инода каталога, я бы предложил использовать аргумент -d только для перечисления каталогов. Для вывода номера инода каталога /path/to/dir используйте следующую командную строку:

ls -id /path/to/dir

От 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

решение2

Это также работает со статистикой:

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

Отman 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

решение3

Вы можете найти индекс файла и каталога с помощью -iопции

ls -id /home/user/dir

Вы можете получить информацию о потребленных inode вашей системы

df -hi

решение4

В С++:

#include <sys/stat.h>

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

Это должно работать для файлов и папок.

Связанный контент