Linux stat command summary with examples
Indholdsfortegnelse:
- Brug af
stat
kommandoen - Viser oplysninger om filsystemet
- Dereference (Følg) Symlinks
- Tilpasning af output
- Konklusion
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.
- 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.
Chmod-kommando i linux (filtilladelser)

I Linux administreres adgang til filerne gennem filtilladelser, attributter og ejerskab. Denne tutorial dækker hvordan man bruger chmod-kommandoen til at ændre adgangstilladelser for filer og mapper.
Chgrp-kommando i linux (skift gruppe)

I Linux er hver fil tilknyttet en ejer og en gruppe og har tilladelser, der bestemmer, hvilke brugere der kan læse, skrive eller udføre filen. Kommandoen chgrpc ændrer gruppeejerskabet for givne filer.
Cp-kommando i linux (kopifiler)

cp er et kommandolinjeværktøj til kopiering af filer og mapper på Unix og Linux-systemer.