sexta-feira, 29 de novembro de 2013

Será que esse arquivo .txt é realmente um texto?

No mundo Windows, a extensão de um arquivo diz o tipo que ele é. Por exemplo, um .doc é um documento de texto do Word, .txt é um arquivo de texto puro do Bloco de Notas, etc. No Linux, apesar de também trabalhar com extensões, o sistema operacional tem outra forma de descobrir o tipo de arquivo. E o programa "file" mostra isso muito bem.

$ file 20131101.txt
20131101.txt: UTF-8 Unicode text

Acima, o arquivo 20131101.txt é um arquivo de texto unicode utf-8.

$ file ipv6-02.jpeg
ipv6-02.jpeg: JPEG image data, JFIF standard 1.01

Agora um arquivo jpeg.


$ file instalar.sh
instalar.sh: Bourne-Again shell script, UTF-8 Unicode text executable

Um script bash executável.

$ file disco1
disco1: data

Um arquivo do tipo data. 

$ file Livro.pdf
Livro.pdf: PDF document, version 1.4

Um pdf.

$ file teste.iso
teste.iso: data

Outro data.

Agora, se eu renomear o arquivo Livro.pdf para Livro.txt, o que será que o "file" vai mostrar?

$ cp Livro.pdf Livro.txt
$ file Livro.txt
Livro.txt: PDF document, version 1.4

Apesar do arquivo ter extensão .txt, vemos que ele é, nas verdade, um pdf.