5 'stat' kommandoeksempler for Linux-nybegynnere


stat-kommando er et nyttig verktøy for å vise fil- eller filsystemstatus. Den henter informasjon som filtype; tilgangsrettigheter i oktal og menneskelig lesbar; SELinux sikkerhetskontekststreng; tidspunkt for filfødsel, siste tilgang, siste dataendring, siste statusendring i både lesbar og i sekunder siden Epoch, og mye mer.

Den har en mulighet til å spesifisere et tilpasset format i stedet for standard, for å vise informasjon. I denne veiledningen vil vi se på fem stat-kommandoer for Linux-nybegynnere.

Sjekk Linux-filstatus

1. Den enkleste måten å bruke stat på er å gi den en fil som et argument. Følgende kommando vil vise størrelse, blokker, IO-blokker, filtype, inodeverdi, antall lenker og mye mer informasjon om filen /var/log/syslog, som vist på skjermbildet:

$ stat /var/log/syslog

File: '/var/log/syslog'
  Size: 26572     	Blocks: 56         IO Block: 4096   regular file
Device: 80ah/2058d	Inode: 8129076     Links: 1
Access: (0640/-rw-r-----)  Uid: (  104/  syslog)   Gid: (    4/     adm)
Access: 2018-04-06 09:42:10.987615337 +0530
Modify: 2018-04-06 11:09:29.756650149 +0530
Change: 2018-04-06 11:09:29.756650149 +0530
 Birth: -

Sjekk filsystemstatus

2. I forrige eksempel behandlet kommandoen stat inngangsfilen som en vanlig fil, men for å vise filsystemstatus i stedet for filstatus, bruk -f-alternativet.

$ stat -f /var/log/syslog

File: "/var/log/syslog"
    ID: ce97e63d2201c974 Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 84769790   Free: 16012830   Available: 11700997
Inodes: Total: 21544960   Free: 20995459

Du kan også oppgi en katalog/filsystem som argument som vist.

$ stat -f /

File: "/"
    ID: ce97e63d2201c974 Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 84769790   Free: 16056471   Available: 11744638
Inodes: Total: 21544960   Free: 21005263

Aktiver følging av symbolske lenker

3. Siden Linux støtter koblinger (symbolske og harde lenker), kan enkelte filer ha én eller flere koblinger, eller de kan til og med eksistere i en filsystem.

For å la stat følge lenker, bruk -L-flagget som vist.

$ stat -L /

 File: '/'
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: 80ah/2058d	Inode: 2           Links: 25
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-04-09 10:55:55.119150525 +0530
Modify: 2018-02-20 11:15:54.462893167 +0530
Change: 2018-02-20 11:15:54.462893167 +0530
 Birth: -

Bruk et tilpasset format for å vise informasjon

4. stat lar deg også bruke et bestemt eller tilpasset format i stedet for standardformatet. -c-flagget brukes til å spesifisere formatet som brukes, det skriver ut en ny linje etter hver bruk av formatsekvensen.

Alternativt kan du bruke --printf-alternativet som muliggjør tolkning av omvendt skråstrek-escape-sekvenser og slår av utskrift av en etterfølgende nylinje. Du må bruke \n i formatet for å skrive ut en ny linje, for eksempel.

stat --printf='%U\n%G\n%C\n%z\n' /var/log/secure

Betydningen av formatsekvensene for filer brukt i eksemplet ovenfor:

  • %U – brukernavn på eier
  • %G – gruppenavn på eier
  • %C – SELinux sikkerhetskontekststreng
  • %z – tidspunkt for siste statusendring, lesbar for mennesker

5. Her er et eksempel som viser bruk av aksepterte formatsekvenser for filsystemer.

stat --printf='%n\n%a\n%b\n' /

Betydningen av formatsekvensene som brukes i kommandoen ovenfor.

  • %n – viser filnavnet
  • %a – skriv ut gratis blokker tilgjengelig for ikke-superbrukere
  • %b – gir ut totale datablokker i filsystemet

Skriv ut informasjon i Terse-form

6. Alternativet -t kan brukes til å skrive ut informasjonen i kortere form.

$ stat -t /var/log/syslog

/var/log/syslog 12760 32 81a0 104 4 80a 8129076 1 0 0 1523251873 1523256421 1523256421 0 4096

Som en siste merknad kan skallet ditt ha sin egen versjon av stat, vennligst se skallets dokumentasjon for detaljer om alternativene det støtter. For å se alle aksepterte utdataformatsekvenser, se stat man-siden.

man stat 

I denne artikkelen har vi forklart fem stat-kommandoer for Linux-nybegynnere. Bruk tilbakemeldingsskjemaet nedenfor for å stille spørsmål.