Linuxové souborové systémy jsou složité věci, které je třeba pochopit, zvláště když se dostanete do plevele dat a metadat. Pokaždé, když spustíte ls
a uvidíte výstup – uvedené soubory, oprávnění, vlastnictví účtu atd. – pochopte, že údaje o soubory, které vidíte, jsou uloženy někde odděleně od souborů samotných a je třeba je vyvolat. Inody v zákulisí tvrdě pracují, takže nemusíte. Pojďme se podívat na to, co přesně inode je a k čemu nám slouží.
Co je to inode?
Podle definice je inode indexový uzel. Slouží jako jedinečný identifikátor pro konkrétní část metadat v daném souborovém systému. Každý kus metadat popisuje, co si představujeme jako soubor. Správně, inody fungují na každém souborovém systému nezávisle na ostatních. To, co je matoucí, je, když si uvědomíte, že každý inode je uložen ve společné tabulce. Stručně řečeno, každý souborový systém připojený k vašemu počítači má své vlastní inody. Číslo inodu může být použito více než jednou, ale nikdy stejným souborovým systémem. ID souborového systému se spojí s číslem inodu a vytvoří jedinečný identifikační štítek.
Kolik je tam inodů?
Pokud vás matematika nezajímá, možná budete chtít tuto část přeskočit. V každém systému je mnoho inodů a je třeba si uvědomit několik čísel. Za prvé a méně důležité, teoretický maximální počet inodů je roven 2^32 (přibližně 4,3 miliardy inodů). Za druhé, a mnohem důležitější, je počet inodů ve vašem systému. Obecně je poměr inodů 1:16 KB systémové kapacity. Je zřejmé, že každý systém je jiný, takže si to musíte spočítat sami.
Pokročilé použití
Pro ty z vás, kteří nemají matiku averzi, máme dobrou zprávu:"Existuje na to příkaz." Chcete-li zkontrolovat počet inodů ve vašem systému, můžete použít -i
možnost pomocí df
příkaz, jak je vidět zde:
[tcarrigan@rhel ~]$ df -i /dev/sda1
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 524288 312 523976 1% /boot
Ze syntaxe příkazu a výše uvedeného výstupu můžete vidět, že jsme spustili df -i
na souborovém systému /dev/sda1
. V tomto souborovém systému je celkem 524 288 inodů, přičemž pouze 312 z nich se používá (asi 1 %).
inode na úrovni souboru
Můžeme se také podívat na číslo inodu konkrétního souboru. K tomu používáme ls -i
příkaz na požadovaný soubor. Například:
[tcarrigan@rhel my_articles]$ ls -i Creating_volume_groups
1459027 Creating_volume_groups
Číslo inodu pro tento soubor je 1459027 .
inode na úrovni adresáře
Stejně jako u souborů můžeme také vidět inode adresáře. K tomu používáme ls -i
příkaz znovu s několika dalšími možnostmi. Například:
[tcarrigan@rhel article_submissions]$ ls -idl my_articles/
352757 drwxrwxr-x. 2 tcarrigan tcarrigan 69 Apr 7 11:31 my_articles/
Můžete vidět, že jsme použili -i
(inodes) a také -l
(dlouhý formát) a -d
(adresář). Tyto příznaky nám poskytují nepřeberné množství informací o my_articles adresář, včetně čísla inodu, oprávnění, vlastnictví atd.
Shrnutí
Inody jsou skvělým místem, kde začít, pokud se chcete dozvědět více o souborových systémech a jejich strukturách. Jak jsou nejmenší jednotky dat označeny a indexovány, je důležité vědět. S inody lze provádět některé mnohem pokročilejší operace. Můžete například otevřít inode a přečíst obsah souboru. Tato schopnost vám dává ještě hlubší pohled na to, jaká metadata jsou tam uložena. Doufejme, že tento vzhled na vysoké úrovni vám poskytne základ pro váš průzkum inodů.
[ Bezplatný online kurz:Technický přehled Red Hat Enterprise Linux. ]