GNU/Linux >> Linux Esercitazione >  >> Linux

Comando Stat in Linux

stat è un'utilità della riga di comando che mostra informazioni dettagliate su determinati file o file system.

Questo articolo spiega come usare stat comando.

Utilizzo di stat Comando #

La sintassi per stat il comando è il seguente:

stat [OPTION]... FILE...

stat accetta uno o più input FILE nomi e include una serie di opzioni che controllano il comportamento e l'output del comando.

Diamo un'occhiata al seguente esempio:

stat file.txt

L'output sarà simile a questo:

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

Quando viene invocato senza alcuna opzione, stat visualizza le seguenti informazioni sul file:

  • File - Il nome del file.
  • Size - La dimensione del file in byte.
  • Blocchi:il numero di blocchi allocati utilizzati dal file.
  • Blocco IO - La dimensione in byte di ogni blocco.
  • Tipo di file - (es. file normale, directory, collegamento simbolico.)
  • Dispositivo - Numero del dispositivo in esadecimale e decimale.
  • Inode - Numero inode.
  • Link - Numero di collegamenti reali.
  • Accesso - Autorizzazioni ai file nei metodi numerici e simbolici.
  • Uid - ID utente e nome del proprietario.
  • Gid - ID gruppo e nome del proprietario.
  • Contesto - Il contesto di sicurezza di SELinux.
  • Accesso:l'ultimo accesso al file.
  • Modifica:l'ultima volta che il contenuto del file è stato modificato.
  • Modifica:l'ultima volta che l'attributo o il contenuto del file è stato modificato.
  • Nascita - Ora di creazione del file (non supportato in Linux).

Visualizzazione delle informazioni sul file system #

Per ottenere informazioni sul file system in cui risiede il file specificato, invece delle informazioni sul file stesso, usa il -f , (--file-system ) opzione:

stat -f file.txt

L'output del comando sarà simile a questo:

  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

Quando stat viene invocato con -f opzione, mostra le seguenti informazioni:

  • File - Il nome del file.
  • ID - ID del file system in formato esadecimale.
  • Namelen - Lunghezza massima dei nomi di file.
  • Dimensione fondamentale del blocco:la dimensione di ogni blocco nel file system.
  • Blocchi:
    • Totale - Numero di blocchi totali nel file system.
    • Gratuito - Numero di blocchi liberi nel file system.
    • Disponibile - Numero di blocchi gratuiti disponibili per utenti non root.
  • Inode:
    • Totale - Numero di inode totali nel file system.
    • Gratuito - Numero di inode liberi nel file system.

Per impostazione predefinita, stat non segue collegamenti simbolici. Se esegui il comando su un collegamento simbolico, l'output includerà informazioni sul collegamento simbolico, non sul file a cui punta:

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

Per dereferenziare (seguire) il collegamento simbolico e visualizzare le informazioni sul file a cui punta il collegamento simbolico, utilizzare il -L , (--dereference ) opzione:

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

Personalizzazione dell'output #

La stat comando ha due opzioni che ti consentono di personalizzare l'output in base alle tue esigenze:-c , (--format="format" ) e --printf="format" .

La differenza tra queste due opzioni è che quando due o più file vengono utilizzati come operanti --format aggiunge automaticamente una nuova riga dopo l'output di ogni operando. Il --printf interpreta gli escape della barra rovesciata.

Esistono molte direttive di formato per file e file system che possono essere utilizzate con --format e --printf .

Ad esempio, per visualizzare solo il tipo di file, eseguire:

stat --format="%F" /dev/null
character special file

È possibile combinare un numero qualsiasi di direttive di formattazione e, facoltativamente, utilizzare separatori personalizzati tra di esse. Il separatore può essere un singolo carattere o una stringa:

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

Per interpretare caratteri speciali come newline o tab, usa il --printf opzione:

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

\n stampa una nuova riga:

Name: /etc
Permissions: 755

La stat può anche visualizzare le informazioni in forma concisa. Questo formato è utile per l'analisi da parte di altre utilità.

Richiama il comando con -t (--terse ) opzione per stampare l'output in forma concisa:

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

Per un elenco completo di tutte le direttive di formato per file e tipo di file system, man stat o stat --help nel tuo terminale.

Conclusione #

La stat comando stampa informazioni su determinati file e file system.

In Linux, molti altri comandi possono visualizzare informazioni su determinati file, con ls essendo il più utilizzato, ma mostra solo una parte delle informazioni fornite da stat comando.

Se hai domande o feedback, sentiti libero di lasciare un commento.


Linux
  1. Controlla lo stato del file su Linux con il comando stat

  2. Comando wc Linux

  3. comando Linux grep

  4. ln Esempi di comandi in Linux

  5. file Esempi di comandi in Linux

Comando Gzip in Linux

Scollega comando in Linux (Rimuovi file)

Comando Gunzip in Linux

Spiegazione del comando Linux Stat

Esempi di comandi Stat Linux

Tronca comando in Linux