
Ich kann bei Google buchstäblich nichts finden, das mir bei der Beantwortung dieser Frage helfen würde. Ich nehme an, es wird ein anderer Parameter an ls -i
? übergeben.
Antwort1
Ja, das Argument -i gibt die Inode-Nummer jeder Datei oder jedes Verzeichnisses aus, das der Befehl ls auflistet. Da Sie die Inode-Nummer eines Verzeichnisses ausgeben möchten, würde ich vorschlagen, das Argument -d zu verwenden, um nur Verzeichnisse aufzulisten. Um die Inode-Nummer des Verzeichnisses /path/to/dir auszugeben, verwenden Sie die folgende Befehlszeile:
ls -id /path/to/dir
Aus 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
Antwort2
Dies funktioniert auch mit stat:
DIR=/
stat -c '%i' $DIR
Ausman 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
Antwort3
-i
Sie können den Inode der Datei und des Verzeichnisses mit der Option finden
ls -id /home/user/dir
Sie können Informationen über den verbrauchten Inode Ihres Systems erhalten
df -hi
Antwort4
In C++:
#include <sys/stat.h>
ulong getInode( const QString &path )
{
struct stat st;
stat( path.toUtf8(), &st );
return st.st_ino;
}
Dies sollte für Dateien und Ordner funktionieren.