Android

Stat kommando i Linux

Linux stat command summary with examples

Linux stat command summary with examples

Indholdsfortegnelse:

Anonim

stat er et kommandolinjeværktøj, der viser detaljerede oplysninger om givne filer eller filsystemer.

Denne artikel forklarer, hvordan du bruger stat kommando.

Brug af stat kommandoen

Syntaks for kommandoen stat er som følger:

stat… FILE…

stat accepterer et eller flere input- FILE navne og inkluderer et antal indstillinger, der kontrollerer kommandoforhold og output.

Lad os se på følgende eksempel:

stat file.txt

Outputet ser sådan ud:

File: file.txt Size: 4030 Blocks: 8 IO Block: 4096 regular file Device: 801h/2049d Inode: 13633379 Links: 1 Access: (0644/-rw-r--r--) Uid: (1000/ linuxize) Gid: (1000/ linuxize) Access: 2019-11-06 09:52:17.991979701 +0100 Modify: 2019-11-06 09:52:17.971979713 +0100 Change: 2019-11-06 09:52:17.971979713 +0100 Birth: -

stat vises følgende filoplysninger, når der kaldes op uden indstillinger.

  • Fil - Navnet på filen. Størrelse - Størrelsen på filen i bytes. Blokke - Antallet af tildelte blokke, filen tager.IO Blokering - Størrelsen i byte for hver blok. Filtype - (eks. Almindelig fil, bibliotek, symbolsk link…) Enhed - Enhedsnummer i hex og decimal.Inode - Inodenummer.Links - Antal hårde links.Tilgang - Filtilladelser i de numeriske og symboliske metoder.Uid - Bruger-ID og navn på ejeren.Gid - Gruppe Ejerens ID og navn.Kontekst - SELinux-sikkerhedskonteksten.Tilgang - Sidste gang der blev adgang til filen.Modificer - Sidste gang filens indhold blev ændret. Ændring - Sidste gang filens attribut eller indhold blev ændret. Fødsel - Filoprettelsestid (understøttes ikke i Linux).

Viser oplysninger om filsystemet

For at få oplysninger om filsystemet, hvor den givne fil ligger, i stedet for oplysninger om selve filen, skal du bruge indstillingen -f , ( --file-system ):

stat -f file.txt

Kommandoens output ser sådan ud:

File: "package.json" ID: 8eb53097b4494d20 Namelen: 255 Type: ext2/ext3 Block size: 4096 Fundamental block size: 4096 Blocks: Total: 61271111 Free: 25395668 Available: 22265851 Inodes: Total: 15630336 Free: 13979610

Når stat kaldes til med -f indstillingen, viser det følgende information:

  • Fil - Navnet på filen.ID - Filsystem-id i hex.Namelen - Maksimal længde på filnavne. Fundamentel blokstørrelse - Størrelsen på hver blok på filsystemet. Blokke:
    • I alt - Antal samlede blokke i filsystem.Free - Antal gratis blokke i filsystem.Tilgængeligt - Antal gratis blokke til rådighed for ikke-root-brugere.
    inoder:
    • I alt - Antal samlede inoder i filsystem. Gratis - Antal gratis inoder i filsystem.

Dereference (Følg) Symlinks

Som standard følger stat ikke symlinks. Hvis du kører kommandoen på en symlink, indeholder output information om symlinket, ikke filen, den peger på:

stat /etc/resolv.conf

File: /etc/resolv.conf ->../run/systemd/resolve/stub-resolv.conf Size: 39 Blocks: 0 IO Block: 4096 symbolic link Device: 801h/2049d Inode: 8126659 Links: 1 Access: (0777/lrwxrwxrwx) Uid: (0/ root) Gid: (0/ root) Access: 2019-11-06 21:12:26.875956073 +0100 Modify: 2018-07-24 11:11:48.128794519 +0200 Change: 2018-07-24 11:11:48.128794519 +0200 Birth: -

For at ændre (følge) symlinket og vise oplysninger om den fil, som symlinket peger på, skal du bruge indstillingen -L , (- --dereference ):

stat -L /etc/resolv.conf

File: /etc/resolv.conf Size: 715 Blocks: 8 IO Block: 4096 regular file Device: 17h/23d Inode: 989 Links: 1 Access: (0644/-rw-r--r--) Uid: (101/systemd-resolve) Gid: (103/systemd-resolve) Access: 2019-11-06 20:35:25.603689619 +0100 Modify: 2019-11-06 20:35:25.555689733 +0100 Change: 2019-11-06 20:35:25.555689733 +0100 Birth: -

Tilpasning af output

stat kommandoen har to muligheder, der giver dig mulighed for at tilpasse output efter dine behov: -c , (- --format="format" ) og --printf="format" .

Forskellen mellem disse to indstillinger er, at når to eller flere filer bruges som operanter --format tilføjer --format automatisk en ny linje efter hver --format output. --printf fortolker tilbageslag slipper ud.

Der er mange --format for filer og filsystemer, der kan bruges med - --format og --printf .

For eksempel for kun at se den filtype, du vil bruge:

stat --format="%F" /dev/null

character special file

Du kan kombinere et vilkårligt antal formateringsdirektiver og eventuelt bruge brugerdefinerede separatorer imellem dem. Separatoren kan være et enkelt tegn eller en streng:

stat --format="%n, %F" /dev/null

/dev/null, character special file

For at fortolke specialtegn som newline eller fane skal du bruge indstillingen --printf :

stat --printf='Name: %n\nPermissions: %a\n' /etc

udskriver en ny linje:

Name: /etc Permissions: 755

stat kan også vise informationerne i stram form. Dette format er nyttigt til analyse af andre værktøjer.

--terse kommandoen med -t ( --terse ) for at udskrive output i stram form:

stat -t /etc

/etc 12288 24 41ed 0 0 801 8126465 147 0 0 1573068933 1573068927 1573068927 0 4096

For en komplet liste over alle formatdirektiver for filer og filsystemer skriv man stat eller stat --help i din terminal.

Konklusion

stat kommandoen udskriver oplysninger om givne filer og filsystemer.

I Linux er der flere andre kommandoer, der kan vise oplysninger om givne filer, hvor ls er den mest anvendte, men det viser kun en del af informationen, der leveres af stat kommandoen.

stat terminal