Android

Stat commando in linux

Linux stat command summary with examples

Linux stat command summary with examples

Inhoudsopgave:

Anonim

stat is een opdrachtregelprogramma dat gedetailleerde informatie weergeeft over bepaalde bestanden of bestandssystemen.

In dit artikel wordt uitgelegd hoe u de opdracht stat .

Het stat commando gebruiken

De syntaxis voor het stat commando is als volgt:

stat… FILE…

stat accepteert een of meer invoerbestandsnamen en bevat een aantal opties die het opdrachtgedrag en de uitvoer regelen.

Laten we het volgende voorbeeld bekijken:

stat file.txt

De uitvoer ziet er ongeveer zo uit:

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

Wanneer aangeroepen zonder opties geeft stat de volgende bestandsinformatie weer:

  • Bestand - De naam van het bestand. Grootte - De grootte van het bestand in bytes. Blokken - Het aantal toegewezen blokken dat het bestand in beslag neemt. Blok - De grootte in bytes van elk blok. Bestandstype - (bijv. Normaal bestand, map, symbolische link…) Apparaat - Apparaatnummer in hexadecimaal en decimaal.Inode - Inode-nummer.Links - Aantal harde links.Toegang - Bestandsmachtigingen in numerieke en symbolische methoden. Gebruikers - Gebruikers-ID en naam van de eigenaar. ID en naam van de eigenaar. Context - De SELinux-beveiligingscontext. Toegang - De laatste keer dat het bestand werd geopend. Wijzigen - De laatste keer dat de inhoud van het bestand werd gewijzigd. Wijzigen - De laatste keer dat het kenmerk of de inhoud van het bestand werd gewijzigd. Tijd voor het maken van bestanden (niet ondersteund in Linux).

Informatie weergeven over het bestandssysteem

Om informatie te krijgen over het bestandssysteem waar het gegeven bestand zich bevindt, in plaats van informatie over het bestand zelf, gebruikt u de optie -f , ( --file-system ):

stat -f file.txt

De uitvoer van de opdracht ziet er als volgt uit:

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

Wanneer stat wordt opgeroepen met de optie -f , wordt de volgende informatie weergegeven:

  • Bestand - De naam van het bestand.ID - Bestandssysteem-ID in hex.Namelen - Maximale lengte van bestandsnamen.Fundamentele blokgrootte - De grootte van elk blok op het bestandssysteem.Blokken:
    • Totaal - Aantal totale blokken in bestandssysteem. Gratis - Aantal vrije blokken in bestandssysteem. Beschikbaar - Aantal gratis blokken beschikbaar voor niet-rootgebruikers.
    inodes:
    • Totaal - Aantal totale inodes in bestandssysteem. Gratis - Aantal gratis inodes in bestandssysteem.

Dereference (volg) Symlinks

stat volgt standaard geen symlinks. Als u de opdracht uitvoert op een symlink, bevat de uitvoer informatie over de symlink, niet het bestand waarnaar deze verwijst:

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

Om de symlink te verwijderen (volgen) en informatie weer te geven over het bestand waarnaar de symlink verwijst, gebruikt u de optie -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: -

De uitvoer aanpassen

De opdracht stat heeft twee opties waarmee u de uitvoer naar wens kunt aanpassen: -c , ( --format="format" ) en --printf="format" .

Het verschil tussen deze twee opties is dat wanneer twee of meer bestanden als operatoren worden gebruikt - formaat automatisch een nieuwe regel toevoegt na de uitvoer van elke operand. De --printf interpreteert backslash ontsnapt.

Er zijn veel indelingsrichtlijnen voor bestanden en bestandssystemen die kunnen worden gebruikt met --format en --printf .

Om bijvoorbeeld alleen het type bestand te bekijken dat u zou gebruiken:

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

character special file

U kunt een willekeurig aantal opmaakrichtlijnen combineren en desgewenst aangepaste scheidingstekens gebruiken. Het scheidingsteken kan een enkel teken of een tekenreeks zijn:

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

/dev/null, character special file

Gebruik de optie --printf om speciale tekens zoals newline of tab te interpreteren:

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

drukt een nieuwe regel af:

Name: /etc Permissions: 755

De stat kan de informatie ook in beknopte vorm weergeven. Dit formaat is handig voor het parseren door andere hulpprogramma's.

Roep de opdracht met de optie -t ( --terse ) aan om de uitvoer in terse vorm af te drukken:

stat -t /etc

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

Typ man stat of stat --help in uw terminal voor een volledige lijst van alle indelingsrichtlijnen voor bestanden en bestandssystemen.

Conclusie

De opdracht stat drukt informatie af over bepaalde bestanden en bestandssystemen.

In Linux zijn er verschillende andere opdrachten die informatie over bepaalde bestanden kunnen weergeven, waarbij ls de meest gebruikte is, maar het toont slechts een deel van de informatie die door het stat commando wordt verstrekt.

stat terminal