O comando `stat` no Linux exibe várias informações sobre um arquivo ou diretório. Ele vai muito além do que `LS -L` fornece, oferecendo metadados detalhados, incluindo registros de data e hora (com alta precisão), permissões, propriedade, tamanho e muito mais.
Aqui está um colapso do que faz e como usá -lo:
Uso básico: A forma mais simples é:
`` `BASH
stat
`` `
Isso produzirá uma grande quantidade de informações. O formato exato de saída pode variar ligeiramente em diferentes distribuições Linux. Os principais detalhes incluem:
* Tipo de arquivo: (por exemplo, arquivo regular, diretório, link simbólico)
* Permissões: (usando notação octal)
* Propriedade: (ID do usuário e ID do grupo)
* Tamanho: (em bytes)
* Tempo de acesso: (da última vez que o arquivo foi acessado)
* Tempo de modificação: (da última vez que o conteúdo do arquivo foi modificado)
* Alterar o tempo: (A última vez que os metadados do arquivo foram alterados, por exemplo, permissões ou propriedade)
* Número do inode: (um identificador exclusivo para o arquivo no sistema de arquivos)
* Tamanho do bloco: (Tamanho das unidades de alocação no sistema de arquivos)
* Número de blocos: (Número de unidades de alocação usadas pelo arquivo)
Opções para mais controle:
`Stat` tem muitas opções para personalizar a saída. Alguns úteis:
* `-C `:permite especificar um formato de saída personalizado usando especificadores de formato de estilo C. Esta é a maneira mais poderosa de usar o `Stat '. Você pode selecionar informações específicas. Exemplos:
* `stat -c" %n %s "file.txt` (nome do arquivo e tamanho)
* `stat -c"%y "file.txt` (tempos de acesso e modificação)
* `stat -c"%x "file.txt` (tempo de acesso)
* `stat -c"%w "file.txt` (tempo de modificação)
* `stat -c"%z "file.txt` (tempo de alteração)
* `stat -c" %i %n "file.txt` (inode e nome do arquivo)
* Veja a página `Man Stat` para obter uma lista completa de especificadores de formato.
* `--printf =`:semelhante a `-C`, mas usa seqüências de formato de estilo de shell, que podem ser mais convenientes.
* `-f`:force o stat a operar mesmo em um arquivo inexistente. Isso resultará em uma mensagem de erro.
* `-L`:siga os links simbólicos (estatística o alvo do link, não o próprio link).
* `-h`:se existir um link simbólico, exiba as informações do link simbólico, não o arquivo para o qual aponta.
Exemplo usando `-C`:
Para obter apenas o nome do arquivo e o tamanho:
`` `BASH
stat -c " %n %s" myfile.txt
`` `
Para obter apenas o tempo de modificação em um formato fácil de usar (requer GNU `Stat`):
`` `BASH
stat -c "%w" myfile.txt #Isso provavelmente será um tempo de época, não é legível
stat -c "%y" myfile.txt #Isso é mais amigável
`` `
Exemplo usando `--printf`:
Para imprimir o nome do arquivo e o tamanho em um formato específico:
`` `BASH
stat --printf ="arquivo:%n \ nsize:%s bytes \ n" myfile.txt
`` `
em resumo: O comando `stat` é uma ferramenta poderosa para inspecionar metadados de arquivo em detalhes. As opções `-C` ou` --printf` são essenciais para adaptar a saída para suas necessidades. Sempre consulte a página `Man Stat` (tipo` Man Stat` no seu terminal) para obter a lista completa de opções e especificadores de formato.