Na lição anterior, você usou touch para criar um arquivo sem acrescentar uma extensão. No Linux, os nomes dos arquivos não precisam descrever seu conteúdo: um arquivo chamado funny.gif não é necessariamente uma imagem GIF.
Linha de Comando · Lição 6
file
Aprenda a identificar o provável tipo de conteúdo de um arquivo sem depender do nome ou da extensão.
Use o comando file para inspecionar um arquivo e informar seu provável tipo:
$ file banana.jpg
banana.jpg: JPEG image data
Por que as Extensões Não São Suficientes
As ferramentas do Linux normalmente não exigem uma extensão para determinar o tipo de um arquivo. Um script de shell pode se chamar backup, um arquivo de texto pode se chamar README e uma imagem pode ter uma extensão enganosa. O comando file examina propriedades como metadados do sistema de arquivos e padrões reconhecíveis no conteúdo.
$ file README
README: ASCII text
$ file /bin/ls
/bin/ls: ELF 64-bit LSB executable
O resultado é uma classificação, não uma garantia. Um arquivo incomum, incompleto ou danificado pode receber uma descrição abrangente, como data, em vez de um tipo preciso.
Um arquivo chamado report.jpg pode não conter uma imagem. Qual comando verifica seu provável tipo de conteúdo?
Verificação de Vários Arquivos
Você pode verificar vários arquivos de uma só vez:
$ file notes.txt image.png archive.tar.gz
notes.txt: ASCII text
image.png: PNG image data
archive.tar.gz: gzip compressed data
Também é possível fornecer um curinga do shell. O shell expande * para os nomes correspondentes antes que file os examine:
$ file *
Qual comando solicita que file inspecione todos os nomes não ocultos correspondentes a * no diretório atual?
Exibição de Informações MIME
A opção -i mostra informações no estilo MIME, incluindo um tipo de mídia e, quando disponível, um conjunto de caracteres. Essa forma é útil quando outro programa espera valores como text/html.
$ file -i index.html
index.html: text/html; charset=us-ascii
Qual comando informa dados no estilo MIME para index.html?
Opções Úteis de file
-i: mostra informações no estilo MIME.-b: usa o modo breve e omite o nome do arquivo na saída.-L: segue links simbólicos e classifica seus destinos.-z: tenta examinar o conteúdo de arquivos compactados.
Por exemplo:
$ file -b notes.txt
ASCII text
Qual comando classifica notes.txt, mas omite seu nome na saída?
Lição concluída
Você concluiu file
Agora você sabe usar file para investigar o que um arquivo provavelmente contém.
Classifique um arquivo sem confiar em sua extensão.
Inspecione vários caminhos em um único comando.
Solicite informações no estilo MIME.
Ajuste o tratamento de links, dados compactados e rótulos de saída.
Salve seu progresso
Crie uma conta gratuita para salvar esta lição e continuar em qualquer dispositivo.
Criar uma conta gratuita