Este artigo ou secção contémuma lista de referências no fim do texto, mas as suas fontes não são claras porquenão sãocitadas no corpo do artigo, o quecompromete aconfiabilidade das informações. Ajude amelhorar este artigoinserindo citações no corpo do artigo.(abril de 2017) |
file é umprograma de computador padrão dosistema operacionalUnix para determinar o tipo de dados contido em um arquivo (ou o tipo de arquivo). ApareceuUNIX System V com mudanças muito importantes, sendo a mais notável a remoção das informações do tipo de arquivo para um arquivo de texto externo, ao invés de compilar estas informações no próprio arquivo binário.
A maioria dasdistribuições Linux eBSD contém uma reimplementaçãolivre que foi escrita por Ian Darwin. Ela foi expandida por Geoff Collyer em 1989 e desde então teve contribuições de muitos outros, como Guy Harris, Chris Lowth e Eric Fischer.
ASingle UNIX Specification (SUS) especifica que uma série de testes devem ser executados no arquivo especificado na linha de comando:
Os testes sensíveis à posição são normalmente implementados comparando várias posições dentro do arquivo com uma base de dados textual denúmeros mágicos. Esta base de dados é implementada em um arquivo chamado "magic", localizado geralmente em/etc/magic,/usr/share/file/magic ou um local similar. Este método difere de outros mais simples como verificar aextensão dos arquivos e esquemas comoMIME.
A SUS define como requisitos as seguintes opções:
Outros sistemas operacionaisUnix ouUnix-like podem adicionar opções extras além dessas.
# file arquivo.carquivo.c: C program text
# file programaprograma: ELF 32-bit LSB executable,Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped
# file /dev/wd0a/dev/wd0a: block special (0/0)
# file -s /dev/hda1/dev/hda1: Linux/i386ext2 filesystem
# file -s /dev/hda5/dev/hda5: Linux/i386 swap file
# file comprimido.gzcomprimido.gz:gzip compressed data, deflated, original filename, `compressed', last modified: Thu Jan 26 14:08:23 2006, os: Unix
# file dados.ppmdados.ppm: Netpbm PPM "rawbits" image data