任意のディレクトリの inode を見つけるにはどうすればいいですか?

任意のディレクトリの inode を見つけるにはどうすればいいですか?

ls -iGoogle でこの質問に答えるのに役立つものがまったく見つかりません。他のパラメータを?に渡しているのではないかと思います。

答え1

はい、引数 -i は、ls コマンドがリストする各ファイルまたはディレクトリの inode 番号を出力します。ディレクトリの inode 番号を出力したい場合は、引数 -d を使用してディレクトリのみをリストすることをお勧めします。ディレクトリ /path/to/dir の inode 番号を出力するには、次のコマンド ラインを使用します。

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

これは stat でも機能します:

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オプションでファイルとディレクトリのinodeを検索できます

ls -id /home/user/dir

システムで消費されたinodeの情報を取得できます

df -hi

答え4

C++の場合:

#include <sys/stat.h>

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

これはファイルとフォルダーに対して機能するはずです。

関連情報