5 exemplos de comando ‘stat’ para iniciantes em Linux
O comando stat é um utilitário útil para visualizar o status do arquivo ou do sistema de arquivos. Recupera informações como tipo de arquivo; direitos de acesso em octal e legível por humanos; Cadeia de contexto de segurança do SELinux; hora de nascimento do arquivo, último acesso, última modificação de dados, última mudança de status legível por humanos e em segundos desde a Época e muito mais.
Possui a opção de especificar um formato personalizado em vez do padrão, para exibição de informações. Neste guia, veremos cinco exemplos de comandos stat para iniciantes no Linux.
Verifique o status do arquivo Linux
1. A maneira mais fácil de usar stat é fornecer um arquivo como argumento. O comando a seguir exibirá o tamanho, blocos, blocos IO, tipo de arquivo, valor do inode, número de links e muito mais informações sobre o arquivo /var/log/syslog, conforme mostrado na captura de tela:
$ stat /var/log/syslog
File: '/var/log/syslog'
Size: 26572 Blocks: 56 IO Block: 4096 regular file
Device: 80ah/2058d Inode: 8129076 Links: 1
Access: (0640/-rw-r-----) Uid: ( 104/ syslog) Gid: ( 4/ adm)
Access: 2018-04-06 09:42:10.987615337 +0530
Modify: 2018-04-06 11:09:29.756650149 +0530
Change: 2018-04-06 11:09:29.756650149 +0530
Birth: -
Verifique o status do sistema de arquivos
2. No exemplo anterior, o comando stat tratou o arquivo de entrada como um arquivo normal, entretanto, para exibir o status do sistema de arquivos em vez do status do arquivo, use a opção -f
.
$ stat -f /var/log/syslog
File: "/var/log/syslog"
ID: ce97e63d2201c974 Namelen: 255 Type: ext2/ext3
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 84769790 Free: 16012830 Available: 11700997
Inodes: Total: 21544960 Free: 20995459
Você também pode fornecer um diretório/sistema de arquivos como argumento, conforme mostrado.
$ stat -f /
File: "/"
ID: ce97e63d2201c974 Namelen: 255 Type: ext2/ext3
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 84769790 Free: 16056471 Available: 11744638
Inodes: Total: 21544960 Free: 21005263
Habilitar acompanhamento de links simbólicos
3. Como o Linux suporta links (simbólicos e links físicos), certos arquivos podem ter um ou mais links, ou podem até existir em um sistema de arquivo.
Para permitir que o stat siga links, use o sinalizador -L
conforme mostrado.
$ stat -L /
File: '/'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 80ah/2058d Inode: 2 Links: 25
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-04-09 10:55:55.119150525 +0530
Modify: 2018-02-20 11:15:54.462893167 +0530
Change: 2018-02-20 11:15:54.462893167 +0530
Birth: -
Use um formato personalizado para exibir informações
4. stat também permite que você use um formato específico ou personalizado em vez do padrão. O sinalizador -c
é usado para especificar o formato usado, ele imprime uma nova linha após cada uso da sequência de formato.
Alternativamente, você pode usar a opção --printf
que permite a interpretação de sequências de escape de barra invertida e desativa a impressão de uma nova linha final. Você precisa usar \n
no formato para imprimir uma nova linha, por exemplo.
stat --printf='%U\n%G\n%C\n%z\n' /var/log/secure
Significado das sequências de formato dos arquivos usados no exemplo acima:
- %U – nome de usuário do proprietário
- %G – nome do proprietário do grupo
- %C – string de contexto de segurança SELinux
- %z – hora da última mudança de status, legível por humanos
5. Aqui está um exemplo que mostra o uso de sequências de formatos aceitos para sistemas de arquivos.
stat --printf='%n\n%a\n%b\n' /
Significado das sequências de formato usadas no comando acima.
- %n – mostra o nome do arquivo
- %a – imprime blocos gratuitos disponíveis para não-superusuários
- %b – exibe o total de blocos de dados no sistema de arquivos
Imprimir informações em formato conciso
6. A opção -t
pode ser usada para imprimir as informações de forma concisa.
$ stat -t /var/log/syslog
/var/log/syslog 12760 32 81a0 104 4 80a 8129076 1 0 0 1523251873 1523256421 1523256421 0 4096
Como última observação, seu shell pode ter sua própria versão de stat. Consulte a documentação do seu shell para obter detalhes sobre as opções que ele suporta. Para ver todas as sequências de formato de saída aceitas, consulte a página do manual stat.
man stat
Neste artigo, explicamos cinco exemplos de comandos stat para iniciantes no Linux. Use o formulário de feedback abaixo para fazer qualquer pergunta.