Ga naar inhoud

Het stat commando

Controleren of stat aanwezig is

Het stat-commando toont gedetailleerde informatie over bestanden en directories, zoals grootte, permissies, tijdstempels en inode.
Het staat bijna altijd standaard op je systeem geΓ―nstalleerd.

stat maakt deel uit van het pakket GNU coreutils, samen met commando’s zoals cp, mv, ls, en rm.

Wil je controleren of stat aanwezig is, dan kun je de versie opvragen:

stat --version
Voorbeeldoutput
stat (GNU coreutils) 9.1
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.

βš™οΈ Installeren van stat

Het commando stat maakt deel uit van het pakket GNU coreutils.
Daarom is het op vrijwel alle Linux-distributies standaard geΓ―nstalleerd, inclusief Debian en Ubuntu.
Alleen in uitzonderlijke gevallen, zoals minimale systemen of custom builds, moet je het handmatig installeren.

Installatie op Debian/Ubuntu:

sudo apt update
sudo apt install coreutils

Voorbeeldoutput
stat (GNU coreutils) 8.30
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Hieronder vind je enkele veelgebruikte combinaties van het stat-commando:

  • stat bestand.txt β†’ Toon alle info van een bestand
Voorbeeld gebruik van stat bestand.txt

Commando:

stat bestand.txt
Voorbeeldoutput:
  File: bestand.txt
  Size: 42          Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050d  Inode: 131073      Links: 1
Access: (0644/-rw-r--r--)  Uid: 1000   Gid: 1000
Access: 2023-05-01 10:30:00.000000000 +0200
Modify: 2023-05-01 10:29:00.000000000 +0200
Change: 2023-05-01 10:29:05.000000000 +0200
Birth: -

  • stat mapnaam/ β†’ Toon info van een directory

  • stat -c %s bestand.txt β†’ Toon alleen bestandsgrootte (in bytes)

  • stat -c %y bestand.txt β†’ Toon wijzigingsdatum

  • stat -c %A bestand.txt β†’ Toon permissies in leesbaar formaat

  • stat -c "%n %s" bestand.txt β†’ Toon alleen bestandsnaam en grootte
  • stat -c "%U %G %a" bestand.txt β†’ Toon eigenaar, groep en octale permissies
  • stat --printf "%n %F\n" bestand.txt β†’ Toon bestandstype en naam
  • stat * β†’ Toon stat-informatie van alle bestanden in de huidige map

Het stat-commando kent geen eigen configuratie.
Je kunt echter aliassen maken voor veelgebruikte formaten.

1. Alias per gebruiker

Voeg dit toe aan ~/.bashrc:

alias statsize='stat -c %s'
alias statperm='stat -c "%n %A %a"'

2. System-wide instellen

Plaats dezelfde aliassen in /etc/bash.bashrc of /etc/profile.

Logging van het stat-commando

Het stat-commando schrijft zelf geen logbestanden weg.
Wil je gebruik van stat monitoren, dan kan dat met auditd.

Voorbeeld auditd regel

sudo auditctl -w /usr/bin/stat -p x -k stat_monitor
  • -w /usr/bin/stat β†’ bewaak het bestand stat
  • -p x β†’ log bij uitvoeren
  • -k stat_monitor β†’ tag voor herkenning

Logs bekijken:

ausearch -k stat_monitor

Of rechtstreeks in:

less /var/log/audit/audit.log

Coreutils en het stat-commando

Het stat-commando maakt deel uit van coreutils.
Je kunt stat dus niet apart updaten, alleen het hele pakket.

sudo apt update
sudo apt install --only-upgrade coreutils

Verwijderen van stat

Het stat-commando is een handig diagnostisch hulpmiddel maar geen cruciaal systeemonderdeel.
Je kunt het verwijderen, maar dit wordt niet aangeraden omdat veel scripts het gebruiken.

Voorbeeld alias om stat te blokkeren:

alias stat='echo "stat is uitgeschakeld"'

Permissies aanpassen:

sudo chmod 700 /usr/bin/stat
(Alleen root kan het uitvoeren)

πŸ“– Handleiding

De ingebouwde handleiding van Linux-commando’s is altijd beschikbaar via man.
Voor stat:

man stat
Voorbeeld
STAT(1)                     User Commands                    STAT(1)

NAME
       stat - display file or file system status

SYNOPSIS
       stat [OPTION]... FILE...

DESCRIPTION
       Display file or file system status.