GNU/Linux >> Linux Esercitazione >  >> Linux

Spiegazione del comando Linux Stat

Il comando stat viene utilizzato nel sistema Linux/Unix per visualizzare informazioni dettagliate su file e file system. È più comunemente usato per ottenere timestamp di file.

Il comando ls di Linux di solito fornisce dettagli di base su un file mentre il comando stat stampa informazioni aggiuntive sul file estratto dall'inode.

In questa guida, diamo un'occhiata più da vicino al comando stat e alle sue opzioni attraverso esempi.

Sintassi:

$ stat <OPTION> <FILENAME>

1) Verifica lo stato di un file

Per visualizzare lo stato di un file come dimensione, collegamenti al numero di inode e timestamp del file, eseguire:

$ stat output.txt

Emette le seguenti informazioni:

File:questo è il nome del file.

Dimensione:questa è la dimensione del file normale in byte.

Blocchi:il numero di blocchi allocati designati per il file.

Blocco IO:la dimensione in byte di ogni blocco.

Tipo di file:specifica il tipo di file (se un file normale, un collegamento simbolico, ecc.).

Dispositivo - Questo è il numero del dispositivo in formato decimale o esadecimale.

Inode - Visualizza il numero di inode.

Collegamenti:specifica il numero di collegamenti reali.

Accesso:presenta i permessi dei file in formato numerico o simbolico.

Uid:questo è l'ID utente e il nome del proprietario.

Gid:l'ID gruppo e il nome del proprietario.

Contesto:descrive il contesto di sicurezza di SELinux.

Accesso:indica l'ultimo accesso a un file.

Modifica:indica l'ultima volta che il contenuto di un file è stato modificato.

Modifica:questa è l'ultima volta che i metadati del file sono stati modificati.

2) Verifica lo stato del filesystem

Per stampare lo stato del filesystem su cui risiede il file invece di fornire informazioni sul file normale, usa -f o --file-system opzione.

Ad esempio:

$ stat -f output.txt

Emette le seguenti informazioni:

File:descrive il nome del file.

ID:specifica l'ID del sistema in formato esadecimale.

Namelen - Specifica la lunghezza massima del file.

Dimensione blocco fondamentale:questa è la dimensione di ogni blocco su un file system.

Blocchi:

Totale:indica il numero totale di blocchi nel file system.

Libero:numero di blocchi liberi rimanenti nel file system.

Disponibile:il numero di blocchi gratuiti disponibili per gli utenti non root.

Inode:

Totale - Questo è il numero totale di inode nel sistema.

Gratuito:questo è il numero di inode gratuiti disponibili.

4) Per seguire i collegamenti simbolici

Il comando stat non segue i collegamenti simbolici per impostazione predefinita. Quando lo esegui su un collegamento simbolico, l'output comprende informazioni sul collegamento simbolico ma non sul file a cui punta.

$ stat /usr/share/zoneinfo/America/Cayman

Per seguire il collegamento simbolico e stampare le informazioni sul file a cui punta, usa l'opzione -L come mostrato:

$ stat  -L /usr/share/zoneinfo/America/Cayman

5) Output personalizzato

Invece di stampare il formato personalizzato predefinito, puoi usare il --printf o --format opzioni per personalizzare l'output del comando stat.

Usando --printf, devi usare \n per stampare in una nuova riga due o più operandi di file. Ad esempio per stampare il dispositivo e il numero di inode:

stat --printf='%d:%i\n' /usr /etc
Output
2048:63
2048:128001

Usando --format stampa una nuova riga per impostazione predefinita, ad esempio:

stat --format=%d:%i /usr /etc
Output
2048:63
2048:128001

Per stampare il nome del file e l'ora dell'ultima modifica dei dati, digitare:

stat --printf='Name: %n\nThe time of last data modification: %y\n' /usr
Output
Name: /usr
The time of last data modification: 2020-09-28 21:47:27.451120000 +0000

Per stampare il nome utente del proprietario, il tipo di file e la dimensione totale in byte, eseguire:

stat --format="%U,%F,%s" /usr
Output
stat --format="%U,%F,%s" /usr
root,directory,4096

6) Visualizza le informazioni in forma concisa

Per stampare le informazioni in un formato conciso, utilizzare il -t  opzione, utile per l'analisi da parte di altri strumenti.

Conclusione

stat è un comando utile per controllare i timestamp dei file come la modifica del file o il tempo di accesso. In questa guida, abbiamo trattato il comando stat in Linux e evidenziato alcuni esempi di utilizzo.


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

  2. Spiegazione del comando Linux wc per principianti (6 esempi)

  3. Comando wc Linux

  4. Pipe e reindirizzamento in Linux - Spiegazione!

  5. ln Esempi di comandi in Linux

Comando Gzip in Linux

Comando Gunzip in Linux

Comando Stat in Linux

Linux stat Command Tutorial per principianti (5 esempi)

Esempi di comandi Stat Linux

Spiegazione del comando Arping su Linux