I UNIX-liknande operativsystem (som Linux och MacOS) är en inode (indexnod) en datastruktur som lagrar metadata om en fil eller katalog, snarare än filens faktiska data. Tänk på det som en fils pass eller identitetskort. Det innehåller inte innehållet i själva filen, men avgörande information om den.
Här är vad en inode vanligtvis innehåller:
* filtyp: Är det en vanlig fil, katalog, symbolisk länk, uttag, etc.?
* behörigheter: Vem kan läsa, skriva och köra filen (ägare, grupp, andra)?
* ägande: Vilken användare och grupp äger filen?
* Filstorlek: Antalet byte i filen.
* tidsstämplar: Skapelsetid, sista modifieringstid och sista åtkomsttid.
* pekare till datablock: Detta är avgörande; Det är en lista över pekare till diskblocken där den faktiska filens data finns. För små filer kan dessa pekare vara direkt i inoden. För större filer kan inoden peka på andra datastrukturer som sedan pekar på datablocken (indirekta block).
* Enhets -ID (för enheter): Om inoden hänvisar till en enhetsfil (som `/dev/sda1`), anger detta den enhet som filen hänför sig till.
Nyckel saker att förstå om inoder:
* Varje fil och katalog har en inode: Till och med en tom katalog har en inod.
* inoder är numrerade: Varje inod har ett unikt nummer på ett filsystem. Detta nummer används ofta internt av operativsystemet. Du kan se kommandot "ls -i" -kommandot.
* inoder lagras separat från fildata: De bor i ett dedikerat område på filsystemet som kallas Inode -tabellen. Denna separation förbättrar effektiviteten; Systemet kan snabbt komma åt metadata utan att behöva läsa hela filen.
* inoder är en avgörande del av filsystemets effektivitet: Inode -systemet tillåter filsystemet att hitta och hantera filer snabbt. De är den väsentliga länken mellan en fils namn och dess data på disken.
* Att ta bort en fil tar bort länken till inoden: Själva inoden raderas inte omedelbart. Det utrymme som den ockuperade återvinns bara när inga andra filer länkar till det (det är därför du ibland kan återställa raderade filer).
Kort sagt, inoder är bakom kulisserna chefer för filer. De har den viktiga information som behövs för att hitta, hantera och få åtkomst till filens data, vilket gör att operativsystemet effektivt kan hantera filsystemet. Även om du inte direkt interagerar med inoder ofta, kan du förstå deras roll att klargöra hur UNIX-liknande system fungerar.