Android

Stat kommando i Linux

GOTO 2019 • Mastering the Linux Command Line • Bert Jan Schrijver

GOTO 2019 • Mastering the Linux Command Line • Bert Jan Schrijver

Innehållsförteckning:

Anonim

stat är ett kommandoradsverktyg som visar detaljerad information om givna filer eller filsystem.

Den här artikeln förklarar hur man använder stat kommando.

Använda kommandot stat

Syntaxen för kommandot stat är som följer:

stat… FILE…

stat accepterar ett eller flera inmatade FILE namn och innehåller ett antal alternativ som kontrollerar kommandobeteendet och utdata.

Låt oss ta en titt på följande exempel:

stat file.txt

Utgången ser ut så här:

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: -

När den åberopas utan några alternativ visar stat följande filinformation:

  • Fil - Namnet på filen. Storlek - Storleken på filen i byte. Block - Antalet tilldelade block som filen tar.IO Block - Storleken i byte för varje block. Filtyp - (ex. Vanlig fil, katalog, symbolisk länk…) Enhet - Enhetsnummer i hex och decimal.Inode - Inodenummer.Länkar - Antal hårda länkar.Tillgång - Filbehörigheter i numeriska och symboliska metoder.Uid - Användar-ID och namn på ägaren.Gid - Grupp Ägarens ID och namn.Kontekst - SELinux-säkerhetsförhållanden. Tillgång - Sista gången filen öppnades. Ändra - Förra gången filens innehåll ändrades.Ändra - Sista gången filens attribut eller innehåll ändrades. Födelse - Skapa tid för fil (stöds inte i Linux).

Visa information om filsystemet

För att få information om filsystemet där den givna filen finns, istället för information om själva filen, använd alternativet -f , ( --file-system ):

stat -f file.txt

Utgången från kommandot ser ut så här:

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 aktiveras med alternativet -f , visar det följande information:

  • Fil - Namnet på filen.ID - Filsystem-ID i hex.Namelen - Maximal längd på filnamn. Grundläggande blockstorlek - Storleken på varje block på filsystemet. Lås:
    • Totalt - Antal totala block i filsystem. Gratis - Antal gratis block i filsystem.Tillgängligt - Antal gratis block tillgängliga för icke-root-användare.
    inoder:
    • Totalt - Antal totala inoder i filsystem. Gratis - Antal gratis inoder i filsystem.

Dereference (Följ) Symlinks

Som standard följer stat inte symlänkar. Om du kör kommandot på en symlink kommer utgången att innehålla information om symlänken, inte filen den pekar 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: -

För att återföra (följ) symlänken och visa information om den fil som symlänken pekar till, använd alternativet -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: -

Anpassa utgången

stat kommandot har två alternativ som gör att du kan anpassa utdata efter dina behov: -c , ( --format="format" ) och --printf="format" .

Skillnaden mellan dessa två alternativ är att när två eller flera filer används som operanter --format lägger --format automatiskt till en ny linje efter varje operands utgång. --printf tolkar --printf fly.

Det finns många formatdirektiv för filer och filsystem som kan användas med - --format och --printf .

Om du till exempel bara vill visa den filtyp du använder:

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

character special file

Du kan kombinera valfritt antal formateringsdirektiv och eventuellt använda anpassade separatorer mellan dem. Separatorn kan vara ett enda tecken eller en sträng:

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

/dev/null, character special file

För att tolka specialtecken som newline eller tab, använd alternativet --printf :

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

skriver ut en ny rad:

Name: /etc Permissions: 755

stat kan också visa informationen i snäv form. Detta format är användbart för att analysera av andra verktyg.

Anropa kommandot med alternativet -t ( --terse ) för att skriva ut utgången i spänd form:

stat -t /etc

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

För en komplett lista över alla formatdirektiv för filer och filsystem skriver man stat eller stat --help i din terminal.

Slutsats

stat kommandot skriver ut information om givna filer och filsystem.

I Linux finns det flera andra kommandon som kan visa information om givna filer, varvid det är det mest använda, men det visar bara en bit av den information som tillhandahålls av stat kommandot.

stat terminal