Wie finde ich die Inode eines Verzeichnisses?

15

Es gibt buchstäblich nichts auf Google, was mir bei der Beantwortung dieser Frage helfen könnte. Ich nehme an, es wird ein anderer Parameter übergeben ls -i?

Strobe_
quelle

Antworten:

25

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 drucken möchten, würde ich vorschlagen, das Argument -d zu verwenden, um nur Verzeichnisse aufzulisten. Verwenden Sie zum Drucken der Inode-Nummer im Verzeichnis / path / to / dir die folgende Befehlszeile:

ls -id /path/to/dir

Von 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
stoeff
quelle
18

Dies funktioniert auch mit stat:

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

Von 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
Cristian Ciupitu
quelle
2
Ich möchte hinzufügen, dass der Befehl stat von FreeBSD , NetBSD , OpenBSD und OS X etwas anders funktioniert und stat -f '%i' $DIRverwendet werden muss.
Cristian Ciupitu
3

Sie können Inode von Datei und Verzeichnis mit -iOption finden

ls -id /home/user/dir

Sie können Informationen zum verbrauchten Inode Ihres Systems abrufen

df -hi

Mischling
quelle