A volte, mentre si lavora sulla riga di comando in Linux, è necessario saperne di più su un file. Ad esempio, potresti volere informazioni come la dimensione del file, il numero di inode, i permessi di accesso, l'ora dell'ultimo accesso o modifica e altro ancora. Sarai felice di sapere che esiste un'utilità da riga di comando stat che fornisce tutte queste informazioni in una volta sola.
In questo tutorial, discuteremo le basi di stat usando alcuni esempi di facile comprensione. Ma prima di farlo, vale la pena ricordare che tutti gli esempi qui menzionati sono stati testati su Ubuntu 16.04LTS.
Comando Linux stat
Il comando stat in Linux consente di visualizzare lo stato di un file (o anche di un file system). Ecco la sintassi del comando:
stat [OPTION]... FILE...
Di seguito sono riportati alcuni esempi in stile domande e risposte che ti daranno una buona idea di come funzionano le statistiche.
Q1. Come usare il comando stat?
L'utilizzo di base dello strumento è molto semplice:tutto ciò che devi fare è eseguire il comando 'stat' con il nome del file di cui vuoi saperne di più.
stat [filename]
Ad esempio:
stat test.txt
Quindi puoi vedere dettagli come nome del file, dimensione, tipo di file, autorizzazioni di accesso, UID e GID, nonché tempi di accesso/modifica/cambiamento.
Q2. Come rendere le informazioni di visualizzazione delle statistiche in forma concisa?
La forma concisa dell'output rende facile per altri programmi analizzare l'output. Per creare informazioni di output "stat" in questo modulo, utilizza -t opzione della riga di comando.
stat -t test.txt
T3. Come creare informazioni sull'output delle statistiche in un formato personalizzato?
Per questo, usa il --formato opzione. Questa opzione richiede l'immissione di una sequenza di formato valida e molte di queste sono disponibili. Ad esempio, per accedere alle autorizzazioni/diritti in formato leggibile dall'uomo, utilizzare %A .
Ad esempio:
stat --format=%A test.txt
produce il seguente output:
Allo stesso modo, puoi utilizzare %n per il nome del file, %s per dimensione e %U per il nome utente del proprietario del file.
Q4. In che modo l'opzione --format è diversa da --printf?
Al centro, entrambe le opzioni fanno la stessa cosa. La differenza sta nel modo in cui vengono prodotti gli output. Mentre --formato restituisce una nuova riga dopo ogni utilizzo, in caso di --printf , non viene aggiunta alcuna nuova riga. Ecco come la pagina man spiega entrambi:
-c --format=FORMAT
use the specified FORMAT instead of the default; output a new?
line after each use of FORMAT
--printf=FORMAT
like --format, but interpret backslash escapes, and do not out?
put a mandatory trailing newline; if you want a newline, include
\n in FORMAT
Q5. Come assicurarsi che le dereference stat nel caso in cui il file di input sia un collegamento?
C'è anche un'opzione dedicata:-L . Quindi, se il file di input è un collegamento e vuoi che stat lo segua quando viene eseguito il comando, eseguilo nel modo seguente:
stat -L [filename]
Conclusione
Sarebbe sbagliato dire stat non ha una curva di apprendimento, ma la quantità di sforzo richiesta dallo strumento non è molto, poiché il numero di opzioni della riga di comando che offre è limitato. Ne abbiamo già discusso la maggior parte qui. Per ulteriori informazioni, vai alla pagina man dello strumento.