Jokaisella tiedostojärjestelmän tiedostolla ja kansiolla on niin sanottu Inode-rakenne, johon kyseisen objektin metatiedot tallennetaan. Siihen tallennetaan tiedoston omistaja, omistajaryhmä, muutosajankohta, luomisajankohta ja käyttöoikeus sekä muita tietoja. Sen voi nähdä paitsi tiedostojärjestelmän vianmääritystyökalujen avulla. Tietyt tiedot näytetään ls-hyödykkeellä, mutta jos tarvitset enemmän, voit käyttää stat-komentoa. Seuraavaksi kerromme, miten tätä komentoa käytetään Linuxissa.
Komennon syntaksi on yksinkertainen. Sille on annettava vaihtoehdot ja sen tiedoston polku, jonka tiedot haluat nähdä:
$ stat [options] /path/to/file
Optioita ei tarvitse välittää, eikä niitä ole lainkaan paljon:
-L, dereference - näyttää tiedoston tiedot symbolisen linkin sijasta;
-f, --file-system - näyttää tiedot tiedostojärjestelmästä, jossa tiedosto sijaitsee;
-c, --format- voit määrittää tulostusmuodon vakiomuodon sijasta, jokainen tiedosto tulostetaan uudelta riviltä;
--printf - samanlainen kuin --format, mutta uudella rivillä on käytettävä ;
-t, --terse - näyttää tiedot hyvin lyhyessä muodossa, yhdellä rivillä;
--version - näyttää apuohjelman version.
Katsotaanpa muutamia esimerkkejä käytöstä. Nähdäksesi tietoa tiedostosta riittää, että ohjelma ajetaan ilman asetuksia antamalla sille tiedoston polku, esimerkiksi /etc/passwd:
$ stat /etc/passwd

Ohjelman tuloste:
Tiedosto- polku tiedostoon, jonka tiedot näytetään;
Size- tiedoston koko tavuina;
IO-lohko- tiedostojärjestelmän lohkon koko tavuina;
Lohkot- tiedoston viemien tiedostojärjestelmän lohkojen lukumäärä;
Laite- sen laitteen, esimerkiksi kiintolevyn, tunniste, johon tiedosto on tallennettu;
Inode - tiedoston yksilöllinen Inode-numero;
Linkit- tiedostoon liittyvien kovien linkkien määrä;
Access - tiedoston käyttöoikeudet;
Uid - tiedoston käyttäjän ja omistajan tunniste ja nimi;
Gid - tiedostoryhmän tunniste ja nimi;
Access- aika, jolloin tiedostoa viimeksi käytettiin;
Modify- aika, jolloin tiedoston sisältöä on viimeksi muutettu;
Changed- aika, jolloin tiedoston attribuutteja tai sisältöä on viimeksi muutettu;
Created(Birth) - varattu tiedoston alkuperäisen luontipäivämäärän näyttämistä varten, mutta ei vielä käytössä.
Meidän on puhuttava hieman enemmän aikaformaatista. Esimerkiksi tiedoston viimeisimmän käytön aika on 2020-12-02 18:25:01.043831739 +0200. Tämä aika näytetään aikavyöhyke huomioon ottaen. Numerot +0200 osoittavat, että tiedoston luoneen tai muuttaneen tietokoneen aikavyöhyke on kaksi tuntia UTC:tä suurempi, eli Eurooppa/Kiev talviaikaan.
Jos yrität antaa apuohjelmalle symbolisen linkin, se näyttää vain itse linkin Inode-tiedot:
$ stat /etc/passwdlin
Jos haluat nähdä tietoja linkin osoittamasta tiedostosta, käytä -L-vaihtoehtoa:
$ stat -L /etc/passwdlink

Voit välittää useamman kuin yhden tiedoston:
$ stat /etc/passwd /etc/group

Voit muotoilla tulosteen käyttämällä seuraavia merkkijonoja:
%A - käyttöoikeudet;
%b - varattujen lohkojen määrä;
%F - tiedostotyyppi;
%g - tiedostoryhmän tunniste;
%G - tiedostoryhmän nimi;
%i - Inode-tunniste;
%n - tiedoston nimi;
%s - tiedoston koko;
%u - tiedoston omistajan tunnus;
%U - tiedoston omistajan nimi;
%x - viimeisimmän käytön aika;
%y - viimeisimmän sisällönmuutoksen aika;
%z - sisällön tai attribuuttien viimeisimmän muutoksen ajankohta.

Nämä eivät ole kaikki mahdollisia sekvenssejä, vaan löydät lisätietoja apuohjelman ohjeesta:
$ man stat
Näytetään esimerkiksi vain tiedoston nimi ja sen sisällön viimeisimmän muutoksen ajankohta:
$ stat --printf "File %n has been modified %y " /etc/passwd /etc/group

Jos haluat nähdä tiedot tiedostojärjestelmästä, jossa tiedosto sijaitsee, käytä -f-vaihtoehtoa:
$ stat -f /etc/passwd

Katsotaan, mitä apuohjelman näyttämät kentät tarkoittavat:
Tiedosto- tiedoston nimi;
Type- tiedostojärjestelmän tyyppi;
ID - tiedostojärjestelmän tunniste;
Nimen pituus(Namelen) - nimen enimmäispituus tiedostojärjestelmässä;
Lohkokoko- luku- tai kirjoituspyynnön sisältämä tietomäärä optimaalisen nopeuden saavuttamiseksi;
Fundamental block size - fyysinen lohkokoko tiedostojärjestelmässä.
Seuraavaksi ilmoitetaan järjestelmän lohkojen kokonaismäärä ja vapaiden lohkojen määrä.