Jos olet käyttänyt Linuxia riittävän kauan, olet nähnyt termin “inodes”. Se on jotain, joka näkyy ajoittain, mutta ei vaikuta siihen, mitä teet. Tässä kerromme, mikä on inodeja ja miten se toimii.
Mikä on Inodes?
Kirjastossa kaikki kirjat on järjestetty tyylilajin, tekijän nimen tai yleisön ikäryhmän mukaan. Jos haluat löytää “Bobby Danielsin” trillerin, kävelet suoraan trilleriosioon ja alat löytää kirjailijoiden nimiä, jotka alkavat kirjaimella “B”. Aivan kuten kirjasto, kaikki Linux-järjestelmän tiedostot on järjestetty tehokkaaseen hakuun ja käyttöön. Inode on entiteetti, joka auttaa tiedostojen järjestämisessä Linux-järjestelmässä.
Mikä on tiedostojen metatiedot?
Oletetaan, että meillä on tiedosto nimeltä “sample.txt”, joka sisältää tiedot “hei”.
Tässä tiedostossa on joitain sen kannalta merkityksellisiä tietoja, kuten tiedoston koko, käyttöoikeudet, käyttäjän ja ryhmän omistajuus, luomisen / käytön / muokkauksen aikaleimat, linkkien määrä jne. Kaikkia näitä tietoja kutsutaan yhdessä tiedoston metatiedoiksi.
Mitä tiedostojärjestelmät ovat?
Tallennuslaitteessa, kuten kiintolevyssä, osio alustetaan tiedostojärjestelmäksi ennen kuin sitä käytetään tiedostojen tallentamiseen. Kiintolevyn kirjastonhoitaja on tiedostojärjestelmä. Muodollisesti se on joukko tietorakenteita ja algoritmeja, jotka toimivat rinnakkain tiedostojen järjestelmälliseen tallentamiseen osioon.
Linux-järjestelmien osiot alustetaan usein EXT4: llä. Muut tiedostojärjestelmät, kuten B-Tree File System (BTRFS), Reiser File System, ZFS jne., Ovat myös käytettävissä.
Sido heidät kaikki yhdessä
Inode on Ext4: n tietorakenne, joka sisältää kaikki tiedoston metatiedot.
Tietysti tiedostojärjestelmässä olisi lukuisia tiedostoja. Kuten arvasitkin, jokaisella tiedostolla olisi oma inodi. Inodien yksilöimiseksi kukin inodi numeroidaan.
Millainen Inode-numerointi olisi?
Inode-numerot tiedostojärjestelmässä alkavat 1. Ensimmäiset kymmenen inodia on varattu järjestelmän käyttöön. Käyttäjätiedostojen metatiedot on tallennettu inodista 11. Kaikki inodit on pinottu siististi yhteen inoditaulukossa.
Yksi merkintä Inode-taulukossa olisi kooltaan 256 tavua. Tiedostoa varten Linux järjestää kaikki metatiedot älykkäästi 256 tavun sisällä! Lisäksi tiedoston inodilla olisi tietoa myös siitä, missä tiedostojärjestelmässä tiedoston tiedot sijaitsevat. Muista – vain tiedoston metatiedot tallennetaan inodiin.
Tiedostojärjestelmän inodien kokonaismäärä riippuu käytettävissä olevasta tilasta ja osioon tallennettavien tiedostojen määrästä.
Kuinka Inodes jaetaan ja jaetaan?
Kun käyttäjä lisää tiedostoja juuri muotoiltuun tiedostojärjestelmään, 11: stä alkaen alkavat inodit varataan tiedostojen metatietojen säilyttämiseen.
Inodin allokointitilan seuraamiseksi on toinen tietorakenne nimeltä ”Inode Bitmap”. Se on bittikokoelma, joka toimii karttana.
Tarkastellaan kahdeksan bittiä inodibittikartassa merkitsemään inodien 11-18 allokointitilaa alla olevan taulukon mukaisesti. Bittikartan arvo 1 tarkoittaa, että inode on varattu, ts. Sitä käytetään tiedoston metatietojen säilyttämiseen. Bittikartan arvo 0 tarkoittaa, että inodi ei ole tällä hetkellä käytössä. Tässä voimme nähdä, että inodi 17 on käytössä.
Jos tiedosto, jonka metatiedot ovat inode 17: ssä, poistetaan, sen vastaavasta bittikartan tilasta tulee 0, mikä osoittaa, että toinen tiedosto voi käyttää sitä vapaasti.
Kuinka tarkastella tiedoston Inode-numeroa?
Voit tehdä tämän kahdella tavalla.
Ensimmäinen käyttää ls
komento –i
-kytkin ja tiedoston nimi. Lähdön ensimmäinen kenttä on inodinumero, jonka metatiedot ovat ”sample.txt”.
Samat tiedot voidaan saada käyttämällä stat
-komento ja tiedostonimi.
Jos haluat tarkastella osion käytettävissä olevien inodeiden kokonaismäärää, df
komentoa voidaan käyttää -i
vaihtaa.
”/ Dev / sda4” -osiossa on käytettävissä 404754480 inodia, joista vain 359044 inodia.
Johtopäätös
Luonnostaan Inode-taulukko pinoa kaikkien tiedostojen metatiedot huolellisesti inodeihin, samoin kuin tiedot tiedostotietojen sijainnista. Kaikki mitä olemme keskustelleet Linux-inodeista, on yksinkertaisesti jäävuoren huippu. Jos haluat lisätietoja sen sisäisestä toiminnasta, voit katsoa Tämä linkki.