Wie kann ich die Anzahl der Links einer Inode-Nummer ermitteln? Wenn ich weiß, dass die Inode-Nummer beispielsweise 592255 lautet, was kann ich tun, um die Anzahl der Links zu ermitteln?
Ich weiß, dass Verzeichnisse eine Linkanzahl von mindestens 2 haben, weiß aber nicht, wie ich das herausfinden soll.
Ebenfalls zu beachten: OSX verwendet eine andere Version von stat und -cerfordert stattdessen das folgende -fFlag: find . -inum #### -exec stat -f "%l" {} \;( %l"Anzahl der Hardlinks zur Datei")
Diese Nummer (1) ist tatsächlich die Anzahl der Links der Datei, wenn auf eine Datei verwiesen wird, oder die Anzahl der enthaltenen Verzeichniseinträge, wenn auf ein Verzeichnis verwiesen wird (einschließlich der Einträge. Und ..).
Auch zum Beispiel
ls -i /etc/passwd
8654127 /etc/passwd
Dies ist die Inode-Nummer für / etc / passwd. Jetzt können Sie herausfinden, wie viele Links tatsächlich mit dieser Anzahl von Inode 8654127 verknüpft sind mit:
find /etc/ -inum 8654127
/etc/passwd
In meinem Beispiel ist es nur / etc / passwd, also können Sie für Ihren Fall Folgendes tun:
Um den Link Zählung von dem Inode zu erhalten , ohne das gesamte Dateisystem zu suchen, auf einem ext2/ ext3/ ext4Dateisystem Sie verwenden können debugfs. Der Nachteil hierbei ist, dass Sie das Gerät kennen und über Root-Rechte verfügen müssen. Der Vorteil ist natürlich, dass es viel, viel schneller sein kann. Für eine Datei mit inode 5638454auf dev/sda2:
sudo debugfs -R 'stat <5638454>' /dev/sda2
Ein btrfs, gegebener Einhängepunkt /mntanstelle des Geräts:
stat -c %h $(sudo btrfs inspect-internal inode-resolve 5638454 /mnt)
Geben Sie dem
find
Befehl die Inode-Nummer und weisen Sie ihn an, denstat
Befehl für die Datei auszuführen :quelle
-c
erfordert stattdessen das folgende-f
Flag:find . -inum #### -exec stat -f "%l" {} \;
(%l
"Anzahl der Hardlinks zur Datei")Zum Beispiel
Diese Nummer (1) ist tatsächlich die Anzahl der Links der Datei, wenn auf eine Datei verwiesen wird, oder die Anzahl der enthaltenen Verzeichniseinträge, wenn auf ein Verzeichnis verwiesen wird (einschließlich der Einträge. Und ..).
Auch zum Beispiel
Dies ist die Inode-Nummer für / etc / passwd. Jetzt können Sie herausfinden, wie viele Links tatsächlich mit dieser Anzahl von Inode 8654127 verknüpft sind mit:
In meinem Beispiel ist es nur / etc / passwd, also können Sie für Ihren Fall Folgendes tun:
quelle
Um den Link Zählung von dem Inode zu erhalten , ohne das gesamte Dateisystem zu suchen, auf einem
ext2
/ext3
/ext4
Dateisystem Sie verwenden könnendebugfs
. Der Nachteil hierbei ist, dass Sie das Gerät kennen und über Root-Rechte verfügen müssen. Der Vorteil ist natürlich, dass es viel, viel schneller sein kann. Für eine Datei mit inode5638454
aufdev/sda2
:Ein
btrfs
, gegebener Einhängepunkt/mnt
anstelle des Geräts:quelle