Controlliamo come utilizzare STAT per ottenere tutti i dati importanti necessari per un file/system specifico.
Perché il comando stat
A volte, potresti voler conoscere alcuni dettagli chiave su un determinato file/filesystem, ad esempio la dimensione del file, le autorizzazioni di accesso, il numero di inode, il tempo dell'ultimo accesso/modifica ecc. Concordato, puoi verificare molti dettagli su un file che utilizza LS. Tuttavia, Stat offre molto più approfondito sul file/filesystem di destinazione.
Quando dovresti usare Stat? Ogni volta che hai bisogno di quelle informazioni extra. Per un rapido confronto, controlliamo le informazioni sul file di file1.TXT. Per comprendere meglio l'output, scopri di più sul comando LH.
$ ls -lh file1.TXT
Ora, controlliamo cosa ha da offrire le statistiche.
$ stat file1.TXT
Sono molte informazioni! Non li hai bisogno di tutti nella vita di tutti i giorni, ma in una situazione specifica, Stat è super utile.
Utilizzo di Linux Stat: posizione
La maggior parte dei comandi Linux viene eseguita dalla directory /usr /bin.
$ quale stat
Utilizzo di Linux STAT: INFO di file/filesystem di controllo
L'abbiamo già visto in azione, giusto? La struttura dei comandi va così.
$ stat
Per vedere le informazioni approfondite di un file/filesystem, eseguire questo comando. In questo caso, è il mio file fidato1.TXT.
$ stat file1.TXT
Ci sono tonnellate di informazioni sul file specifico, giusto? Tutte le informazioni presentate sono etichettate. A seconda delle tue esigenze, raccogli quello importante. Dalla mia esperienza, quelli più usati sono le autorizzazioni di file, iNode e UID e/o GID.
Ora, controlliamo un esempio con un filesystem. In questo caso, sarà il punto di montaggio del filesystem. Ad esempio, questo comando mostrerà le informazioni del radice filesystem.
$ stat /
In Linux, (quasi) ogni singola cosa è un file. Qualsiasi filesystem è un file stesso, quindi l'output non sarà diverso.
Utilizzo di Linux Stat: forma concisa
Quando esegui le statistiche normalmente, tutte le informazioni vengono stampate in una struttura leggibile dall'uomo. Voglio una versione breve e semplice dell'output? Aggiungi l'argomento "-t".
$ stat -t /
Il formato conciso è un formato speciale che utilizza un elenco predefinito di specificatori del formato stat.
Utilizzo di Linux Stat: formato personalizzato
Questo è un altro utilizzo interessante del comando stat in cui è possibile progettare la struttura di output desiderata di Stat. Per eseguire questo compito, Stat offre un lungo elenco di specificatori di formato disponibili.
Ecco come appare il comando.
$ stat -Format =
Ad esempio, lo specificatore "%A" restituisce le autorizzazioni file/filesystem in un formato leggibile dall'uomo.
$ STAT -Format =%a File1.TXT
Il specificatore "%u" restituisce il proprietario del file/filesystem.
$ STAT -Format =%u /
Per ottenere le dimensioni del file, utilizzare il formato "%s".
$ stat -Format =%S File1.TXT
Vuoi il tipo di file? Usa "%f".
$ STAT -Format =%F File1.TXT
Per il numero di inode, usa "%i".
$ stat -Format =%I File1.TXT
Ora, combiniamo tutti insieme in un'unica riga di comando. Sembrerà così.
$ stat -format = " %a %u %s" /
Ci sono tonnellate di altri specificatori di formato che supportano le statistiche. Tutti sono elencati nella pagina delle statistiche man.
Ora, come abbiamo visto in precedenza l'argomento "-t" o "-terse", è un valore predefinito per i seguenti argomenti.
$ stat -formato = " %n %s %b %f %u %g %d %i %h %t %t %x %y %z %w %o %c"
Per quanto riguarda l'argomento "-terse -file-system", il valore predefinito è il seguente.
$ stat -formato = " %n %i %l %t %s %s %b %f %a %c %d"
Questi output sono molto utili se si utilizza stat in qualsiasi tipo di script, specialmente negli script bash. Nuovo in Bash Script? Dai un'occhiata alla guida per principianti agli script bash.
Printf vs Formato
Il comando stat supporta -printf argomento che funzioni sostanzialmente allo stesso modo di -formato. Tuttavia, la differenza principale tra loro è come viene prodotta l'output.
Chiamiamolo con un esempio. Qui, sto eseguendo stat con entrambi gli argomenti con lo stesso specificatore del formato.
$ stat -Format = " %a %u %s" file1.TXT
$ stat --printf = " %a %u %s" file1.TXT
Come possiamo vedere, il -formato L'argomento aggiunge una nuova riga dopo la fine dell'output. comunque, il -printf no. Per assicurarsi che ci sia una nuova riga dopo l'output, è necessario aggiungere "\ n" alla fine della stringa di specificatore del formato.
$ stat --printf = " %a %u %s \ n" file1.TXT
Distinguere tra file e collegamento
In alcune situazioni, potresti effettivamente lavorare con un link. Tuttavia, per impostazione predefinita, STAT non distingue tra un collegamento e un file fisico. C'è un argomento dedicato per aggirare questo problema. Basta passare l'argomento "-l".
$ stat -l
Pensieri finali
Lo strumento stat è piuttosto semplice. Tutte le sue funzioni sono gestite da semplici argomenti e bandiere. Una volta che sai quale usare, puoi trarne il massimo beneficio.
Per imparare ulteriormente in modo approfondito sul comando stat, consiglio vivamente di dare un'occhiata alla pagina Man. Contiene tutti gli specificatori del formato supportato e alcuni argomenti aggiuntivi che potresti trovare interessanti.
$ man stat
Godere!