androide

Comando stat in linux

Blocos, Superblocos e Inodes - Noções Básicas e comandos stat e dumpe2fs - Linux

Blocos, Superblocos e Inodes - Noções Básicas e comandos stat e dumpe2fs - Linux

Sommario:

Anonim

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

Questo articolo spiega come utilizzare il comando stat .

Usando il comando stat

La sintassi per il comando stat è la seguente:

stat… FILE…

stat accetta uno o più nomi FILE input 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 al seguente:

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.Blocks - Il numero di blocchi allocati che il file accetta.IO Block - La dimensione in byte di ogni blocco. Tipo di file - (es. File normale, directory, collegamento simbolico…) Dispositivo: numero del dispositivo in formato esadecimale e decimale; nodo - numero di nodo. collegamenti - numero di collegamenti fissi. accesso - autorizzazioni per i file nei metodi numerici e simbolici. utente - ID utente e nome del proprietario. gruppo - gruppo ID e nome del proprietario.Contesto - Il contesto di sicurezza di SELinux. Accesso - L'ultima volta che è stato effettuato l'accesso al file. Modifica - L'ultima volta che è stato modificato il contenuto del file. Cambia - L'ultima volta che è stato modificato l'attributo o il contenuto del file. Nascita - Tempo 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, anziché le informazioni sul file stesso, utilizzare l'opzione -f , ( --file-system ):

stat -f file.txt

L'output del comando sarà simile al seguente:

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 l'opzione -f , mostra le seguenti informazioni:

  • File - Il nome del file.ID - ID del file system in hex.Namelen - Lunghezza massima dei nomi dei file. Dimensione del blocco fondamentale - La dimensione di ciascun blocco sul file system.
    • Totale - Numero di blocchi totali nel file system. Gratuito - Numero di blocchi liberi nel file system. Disponibile - Numero di blocchi liberi disponibili per utenti non root.
    inodes:
    • Totale: numero di inode totali nel file system. Gratuito: numero di inode gratuiti nel file system.

Dereference (Segui) Symlink

Per impostazione predefinita, stat non segue i collegamenti simbolici. Se si esegue 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 --dereference simbolico, utilizzare l'opzione -L , ( --dereference ):

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

Il comando stat 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 operatori, il --format aggiunge automaticamente una nuova riga dopo l'output di ciascun operando. --printf interpreta le --printf backslash.

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

stat --format="%F" /dev/null

character special file

È possibile combinare un numero qualsiasi di direttive di formattazione e facoltativamente utilizzare separatori personalizzati tra di loro. 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 l'opzione --printf :

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

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à.

Richiamare il comando con l'opzione -t ( --terse ) 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 file system, digita man stat o stat --help nel tuo terminale.

Conclusione

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

In Linux, ci sono molti altri comandi che possono visualizzare informazioni su determinati file, con ls è il più usato, ma mostra solo una parte delle informazioni fornite dal comando stat .

terminale stat