Vamos verificar como usar o Stat para obter todos os dados importantes necessários para um arquivo/sistema de arquivos específico.
Por que comando stat
Às vezes, você pode querer saber alguns detalhes importantes sobre um determinado arquivo/sistema de arquivos, por exemplo, o tamanho do arquivo, as permissões de acesso, o número do inode, o tempo de último acesso/modificação etc. Concordou, você pode conferir muitos detalhes sobre um arquivo usando LS. No entanto, o Stat oferece muito mais profundidade sobre o arquivo de destino/sistema de arquivos.
Quando você deve usar o Stat? Sempre que você precisar dessas informações extras. Para uma comparação rápida, vamos conferir as informações do arquivo do arquivo1.TXT. Para entender melhor a saída, saiba mais sobre o comando LH.
$ LS -LH FILE1.TXT
Agora, vamos conferir o que a estatística tem a oferecer.
$ stat file1.TXT
Isso é muita informação! Você não precisa de todos eles na vida cotidiana, mas em alguma situação específica, Stat vem em super útil.
Uso do Linux Stat: Localização
A maioria dos comandos Linux é executada no diretório /usr /bin.
$ qual stat
Uso do Linux Stat: verificando informações do arquivo/sistema de arquivos
Já vimos isso em ação, certo? A estrutura de comando é assim.
$ stat
Para ver as informações detalhadas de um arquivo/sistema de arquivos, execute este comando. Nesse caso, é o meu arquivo de confiança1.TXT.
$ stat file1.TXT
Existem toneladas de informações sobre o arquivo específico, certo? Todas as informações apresentadas são rotuladas. Dependendo da sua exigência, pegue o importante. Pela minha experiência, os mais usados são permissões de arquivo, inode e uid e/ou GID.
Agora, vamos conferir um exemplo com um sistema de arquivos. Nesse caso, será o ponto de montagem do sistema de arquivos. Por exemplo, este comando mostrará as informações do raiz sistema de arquivo.
$ stat /
No Linux, (quase) cada coisa é um arquivo. Qualquer sistema de arquivos é um arquivo em si, portanto a saída não será diferente.
Uso do Linux Stat: formulário conciso
Quando você está executando estatísticas normalmente, todas as informações são impressas em uma estrutura legível por humanos. Quer uma versão curta e simples da saída? Adicione o argumento "-t".
$ stat -t /
O formato conciso é um formato especial que usa uma lista predefinida de especificadores de formato de estatística.
Uso do Linux Stat: formato personalizado
Este é outro uso interessante do comando estatístico, onde você pode projetar a estrutura de saída desejada da estatística. Para realizar esta tarefa, o Stat oferece uma longa lista de especificadores de formato disponíveis.
Veja como o comando se parece.
$ stat -formato =
Por exemplo, o especificador "%A" retorna as permissões de arquivos/sistema de arquivos em um formato legível pelo homem.
$ stat - -format =%a file1.TXT
O especificador "%U" retorna o proprietário do arquivo/sistema de arquivos.
$ stat - -format =%u /
Para obter o tamanho do arquivo, use o especificador de formato "%s".
$ stat -format =%s file1.TXT
Quer o tipo de arquivo? Use "%f".
$ stat - -format =%f file1.TXT
Para o número do inode, use "%i".
$ stat - -format =%i arquivo1.TXT
Agora, vamos combinar todos eles em uma única linha de comando. Isso parecerá assim.
$ stat - -format = " %a %u %s" /
Existem toneladas de outros especificadores de formato que suportam estatísticas. Todos eles estão listados na página do homem das estatísticas.
Agora, como vimos anteriormente o argumento "-t" ou "-terse", é um valor predefinido para os seguintes argumentos.
$ stat - -format = " %n %s %b %f %u %g %d %i %h %t %t %x %y %z %w %w %o %c"
Quanto ao argumento "-Terse -File-System", o valor predefinido é o seguinte.
$ stat - -format = " %n %i %l %t %s %s %b %f %a %c %d"
Essas saídas são muito úteis se você estiver usando o STAT em qualquer tipo de script, especialmente em scripts bash. Novo no script Bash? Confira o guia para iniciantes para scripts.
Printf vs formato
O comando de stat suporta -printf argumento de que funciona basicamente da mesma maneira que -formatar. No entanto, a principal diferença entre eles é como a saída é produzida.
Vamos esclarecer com um exemplo. Aqui, estou executando estatísticas com os dois argumentos com o mesmo especificador de formato.
$ stat -format = " %a %u %s" arquivo1.TXT
$ stat --printf = " %a %u %s" file1.TXT
Como podemos ver, o -formatar O argumento adiciona uma nova linha após o término da saída. No entanto, o -printf não. Para garantir que haja uma nova linha após a saída, você deve adicionar "\ n" no final da sequência do especificador de formato.
$ stat --printf = " %a %u %s \ n" file1.TXT
Diferenciar entre arquivo e link
Em determinadas situações, você pode estar realmente trabalhando com um link. No entanto, por padrão, o STAT não diferencia entre um link e um arquivo físico. Há um argumento dedicado para contornar esse problema. Basta passar o argumento "-l".
$ stat -l
Pensamentos finais
A ferramenta de estatística é bastante direta. Todas as suas funções são gerenciadas por argumentos e bandeiras simples. Depois de saber qual deles usar, você pode colher mais se beneficiar.
Para aprender mais detalhadamente sobre o comando de stat, eu recomendo conferir a página do homem. Ele contém todos os especificadores de formato suportados e alguns argumentos adicionais que você pode achar interessante.
$ MAN STAT
Aproveitar!