GNU/Linux >> Linux Esercitazione >  >> Linux

Controlla lo stato del file su Linux con il comando stat

La stat comando, incluso in GNU coreutils pacchetto, fornisce una varietà di metadati, tra cui dimensione del file, posizione dell'inode, autorizzazioni di accesso e contesto SELinux e tempi di creazione e modifica, su file e filesystem. È un modo conveniente per raccogliere informazioni che di solito sono necessarie per acquisire diversi comandi.

Installazione di stat su Linux

Su Linux, probabilmente hai già il stat comando installato perché fa parte di un pacchetto di utilità di base generalmente fornito in bundle con le distribuzioni Linux per impostazione predefinita.

Nel caso in cui tu non abbia stat installato, puoi installare coreutils con il tuo gestore di pacchetti.

In alternativa, puoi compilare coreutils dal codice sorgente.

Ottenere lo stato di un file

stat in esecuzione fornisce un output di facile lettura su un file o una directory specifica.

$ stat planets.xml 
  File:planets.xml
  Dimensioni:325      Blocchi:8     Blocco IO:4096   file normale
Dispositivo:fd03h/64771d    Inode:140217      Link:1
/>Accesso:(0664/-rw-rw-r--)  Uid:(1000/tux)   Gid:(100/utenti)
Contesto:unconfined_u:object_r:user_home_t:s0
Accesso:2021 -08-17 18:26:57.281330711 +1200
Modifica:2021-08-17 18:26:58.738332799 +1200
Modifica:2021-08-17 18:26:58.738332799 +1200
 Nascita:17-08-2021 18:26:57.281330711 +1200

Può essere facile da leggere, ma è comunque un sacco di informazioni. Ecco cosa stat copre:

  • File :il nome del file
  • Taglia :la dimensione del file in byte
  • Blocchi :il numero di blocchi sul disco rigido riservati per questo file
  • Blocco IO :la dimensione di un blocco del filesystem
  • file normale :il tipo di file (file normale, directory, filesystem)
  • Dispositivo :il dispositivo in cui si trova il file
  • Inode :il numero di inode in cui si trova il file
  • Link :il numero di link al file
  • Accesso, UID, GID :autorizzazioni file, utente e proprietario del gruppo
  • Contesto :contesto SELinux
  • Accesso, Modifica, Cambia, Nascita :il timestamp di accesso, modifica, modifica dello stato e creazione del file

Uscita concisa

Per le persone che conoscono bene l'output o vogliono analizzare l'output con altre utilità come awk, c'è il --terse (-t in breve) opzione, che formatta l'output senza intestazioni o interruzioni di riga.

$ stat --terse planets.xml 
planets.xml 325 8 81b4 100977 100 fd03 140217 1 0 0 1629181617 1629181618 1629181618 1629181617 4096 unconfined_u:object_t:0

Scegliere il proprio formato

Puoi definire il tuo formato per l'output usando il --printf opzione e una sintassi simile a printf. Ogni attributo riportato da stat ha una sequenza di formato (%C per il contesto SELinux, %n per il nome del file e così via), in modo da poter scegliere cosa visualizzare in un rapporto.

$ stat --printf="%n\n%C\n" planets.xml 
planets.xml
unconfined_u:object_r:user_home_t:s0
$ $ stat --printf ="Nome:%n\nModificato:%y\n" planets.xml
Nome:planets.xml
Modificato:2021-08-17 18:26:58.738332799 +1200

Più risorse Linux

  • Comandi Linux cheat sheet
  • Cheat sheet sui comandi avanzati di Linux
  • Corso online gratuito:Panoramica tecnica RHEL
  • Cheat sheet della rete Linux
  • Cheat sheet di SELinux
  • Cheat sheet dei comandi comuni di Linux
  • Cosa sono i container Linux?
  • I nostri ultimi articoli su Linux

Ecco alcune sequenze di formati comuni:

  • %a diritti di accesso
  • %F tipo di file
  • %n nome file
  • %U nome utente
  • %u ID utente
  • %g ID gruppo
  • %w momento della nascita
  • %y tempo di modifica

Un elenco completo delle sequenze di formato è disponibile in stat pagina man e coreutils pagine informative.

Informazioni sul file

Se hai mai provato ad analizzare l'output di ls -l , allora apprezzerai la flessibilità di stat comando. Non hai sempre bisogno di tutte le informazioni predefinite che stat fornisce, ma il comando è inestimabile quando ne hai bisogno in parte o in tutto. Sia che tu legga il suo output nel suo formato predefinito, sia che crei le tue query, stat comando ti dà un facile accesso ai dati sui tuoi dati.


Linux
  1. Controlla i processi Java su Linux con il comando jps

  2. Trova file e directory su Linux con il comando find

  3. Iniziare con il comando tac di Linux

  4. Ordina il comando in Linux con esempi

  5. Esempi essenziali del comando file in Linux

Esempi di comandi Stat Linux

Utilizzo del comando Linux mv con esempi

Proteggi Linux con il file Sudoers

Comando di montaggio Linux con esempi

Comando gawk Linux con esempi

Linux make Command con esempi