Android

Comando stat no linux

Ajuda Linux - Dia 738 - Comando stat

Ajuda Linux - Dia 738 - Comando stat

Índice:

Anonim

stat é um utilitário de linha de comando que exibe informações detalhadas sobre determinados arquivos ou sistemas de arquivos.

Este artigo explica como usar o comando stat .

Usando o comando stat

A sintaxe para o comando stat é a seguinte:

stat… FILE…

stat aceita um ou mais nomes de FILE entrada e inclui várias opções que controlam o comportamento e a saída do comando.

Vamos dar uma olhada no seguinte exemplo:

stat file.txt

A saída será mais ou menos assim:

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 chamado sem nenhuma opção, stat exibe as seguintes informações do arquivo:

  • Arquivo - O nome do arquivo.Tamanho - O tamanho do arquivo em bytes.Blocos - O número de blocos alocados que o arquivo utiliza.IO Bloco - O tamanho em bytes de cada bloco.Tipo de arquivo - (por exemplo, arquivo regular, diretório, link simbólico…) Dispositivo - Número do dispositivo em hexadecimal e decimal.Inode - Número do inode.Links - Número de links físicos. Acesso - Permissões de arquivo nos métodos numéricos e simbólicos.Uid - ID do usuário e nome do proprietário.Gid - Grupo ID e nome do owner.Context - O contexto de segurança do SELinux.Access - A última vez que o arquivo foi acessado.Modify - A última vez que o conteúdo do arquivo foi modificado.Change - A última vez que o atributo ou o conteúdo do arquivo foi alterado.Birth - Hora de criação do arquivo (não suportada no Linux).

Exibindo informações sobre o sistema de arquivos

Para obter informações sobre o sistema de arquivos em que o arquivo fornecido reside, em vez de informações sobre o próprio arquivo, use a opção -f , ( --file-system ):

stat -f file.txt

A saída do comando terá a seguinte aparência:

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 é chamado com a opção -f , ele mostra as seguintes informações:

  • Arquivo - O nome do arquivo.ID - ID do sistema de arquivos em hex.Namelen - Comprimento máximo dos nomes dos arquivos.Tamanho do bloco fundamental - O tamanho de cada bloco no sistema de arquivos.Blocos:
    • Total - Número de blocos totais no sistema de arquivos.Free - Número de blocos livres no sistema de arquivos.Available - Número de blocos gratuitos disponíveis para usuários não raiz.
    Inodes:
    • Total - Número de inodes totais no sistema de arquivos.Free - Número de inodes livres no sistema de arquivos.

Desreferência (Seguir) Symlinks

Por padrão, o stat não segue links simbólicos. Se você executar o comando em um link simbólico, a saída incluirá informações sobre o link simbólico, não o arquivo para o qual ele aponta:

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

Para cancelar a referência (seguir) o link simbólico e exibir informações sobre o arquivo para o qual o link simbólico aponta, use a opção -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: -

Personalizando a saída

O comando stat possui duas opções que permitem personalizar a saída de acordo com suas necessidades: -c , ( --format="format" ) e --printf="format" .

A diferença entre essas duas opções é que, quando dois ou mais arquivos são usados ​​como operantes --format adiciona automaticamente uma nova linha após a saída de cada operando. O --printf interpreta escapes de barra invertida.

Existem muitas diretivas de formato para arquivos e sistemas de arquivos que podem ser usados ​​com --format e --printf .

Por exemplo, para exibir apenas o tipo de arquivo que você usaria:

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

character special file

Você pode combinar qualquer número de diretivas de formatação e, opcionalmente, usar separadores personalizados entre elas. O separador pode ser um único caractere ou uma string:

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

/dev/null, character special file

Para interpretar caracteres especiais como nova linha ou guia, use a opção --printf :

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

imprime uma nova linha:

Name: /etc Permissions: 755

O stat também pode exibir as informações em forma concisa. Este formato é útil para analisar por outros utilitários.

Chame o comando com a opção -t ( --terse ) para imprimir a saída na forma concisa:

stat -t /etc

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

Para obter uma lista completa de todas as diretivas de formato para arquivos e sistemas de arquivos, digite man stat ou stat --help no seu terminal.

Conclusão

O comando stat imprime informações sobre determinados arquivos e sistemas de arquivos.

No Linux, existem vários outros comandos que podem exibir informações sobre determinados arquivos, sendo ls o mais usado, mas mostra apenas uma parte das informações fornecidas pelo comando stat .

terminal stat