File é o código-fonte aberto e a implementação gratuita do comando 'file' usado em quase todos os sistemas operacionais do tipo UNIX, como Linux e BSD. O comando 'file', se você não estiver familiarizado com ele, é um programa de linha de comando que informa o tipo de dados que um arquivo contém.
O comando original 'file' enviado com o Bell Labs UNIX, mas não estava disponível no formato de origem para as massas antes desta reimplementação. Como qualquer outro programa de linha de comando, o arquivo deve ser usado por meio de qualquer aplicativo de emulador de terminal.
Opções de linha de comando
O arquivo vem com várias opções de linha de comando que o ajudarão a classificar arquivos no seu sistema GNU / Linux melhor e mais rápido. Eles podem ser visualizados rapidamente executando o arquivo & lsquo; --help & rsquo; comando em um aplicativo de emulador de terminal.
Entre as opções de linha de comando mais úteis, podemos mencionar o suporte para o uso de um arquivo específico como uma lista separada por cores de arquivos de números mágicos, suporte para processamento de arquivos compactados e suporte à saída de seqüências de caracteres MIME, codificação MIME. ou tipo / criador da Apple.
Adicionalmente, o usuário será capaz de listar a força mágica, para permitir seguir os links simbólicos, para finalizar nomes de arquivos com ASCII NUL, para preservar o tempo de acesso em arquivos, para tratar arquivos especiais como arquivos comuns, e para compilar um arquivo que seja especificado pela opção -m (--magic-file LIST).
Sob o capô e sistemas operacionais suportados
File é um software multi-plataforma escrito inteiramente na linguagem de programação C, o que significa que é rápido e suporta todos os sistemas operacionais GNU / Linux, bem como várias distribuições BSD, incluindo FreeBSD, OpenBSD e NetBSD. O Darwin / Mac OS X também é suportado.
O programa é distribuído como um tarball de origem universal (arquivo TAR) que pode ser facilmente instalado em qualquer sistema de 32 ou 64 bits. Para instalá-lo, basta baixar o arquivo, salvá-lo em seu PC, descompactá-lo, abra um aplicativo de terminal e navegue até o local dos arquivos de arquivo extraídos (por exemplo, cd / home / software / arquivo-5,20), execute o & lsquo ;. / configure && make & rsquo; comando, e então execute o & lsquo; make install & rsquo; ou & sudo make install & rsquo; comando.
O que há de novo nesta versão:
- Esta é uma versão de correção de bug; a maioria das correções foi conduzida por descobertas de oss-fuzz, e a razão para o lançamento agora é que não houve novos relatórios por mais de duas semanas. A maioria dos problemas encontrados pelo oss-fuzz estava em ...
- cdf parsing (leituras fora dos limites)
- correspondência de string / regex (leituras de memória não inicializadas)
- Outras correções diversas:
- remova espaços à direita de arquivos mágicos
- refatorar is_tar
O que há de novo na versão 5.33:
- Esta é uma versão de correção de bug; a maioria das correções foi conduzida por descobertas de oss-fuzz, e a razão para o lançamento agora é que não houve novos relatórios por mais de duas semanas. A maioria dos problemas encontrados pelo oss-fuzz estava em ...
- cdf parsing (leituras fora dos limites)
- correspondência de string / regex (leituras de memória não inicializadas)
- Outras correções diversas:
- remova espaços à direita de arquivos mágicos
- refatorar is_tar
O que há de novo na versão:
- Esta é uma versão de correção de bug; a maioria das correções foi conduzida por descobertas de oss-fuzz, e a razão para o lançamento agora é que não houve novos relatórios por mais de duas semanas. A maioria dos problemas encontrados pelo oss-fuzz estava em ...
- cdf parsing (leituras fora dos limites)
- correspondência de string / regex (leituras de memória não inicializadas)
- Outras correções diversas:
- remova espaços à direita de arquivos mágicos
- refatorar is_tar
O que há de novo na versão 5.31:
- Esta é uma versão de correção de bug; a maioria das correções foi conduzida por descobertas de oss-fuzz, e a razão para o lançamento agora é que não houve novos relatórios por mais de duas semanas. A maioria dos problemas encontrados pelo oss-fuzz estava em ...
- cdf parsing (leituras fora dos limites)
- correspondência de string / regex (leituras de memória não inicializadas)
- Outras correções diversas:
- remova espaços à direita de arquivos mágicos
- refatorar is_tar
O que há de novo na versão 5.30:
- do overflow de longitude (Jonas Wagner)
- falha na carga de vários arquivos mágicos (Christoph Biedl)
- melhorias de análise do CDF (Guy Helmer)
- Adicionar suporte para compensações indiretas assinadas
- cat / dev / null | arquivo - deve imprimir vazio (Christoph Biedl)
- Bump string size de 64 a 96.
- PR / 556: corrija os separadores nas anotações.
O que há de novo na versão 5.29:
- do estouro de getlength (Jonas Wagner)
- falha na carga de vários arquivos mágicos (Christoph Biedl)
- melhorias de análise do CDF (Guy Helmer)
- Adicionar suporte para compensações indiretas assinadas
- cat / dev / null | arquivo - deve imprimir vazio (Christoph Biedl)
- Bump string size de 64 a 96.
- PR / 556: corrija os separadores nas anotações.
O que há de novo na versão 5.28:
- Recursos:
- o número de bytes lidos dos arquivos para determinar o tipo de arquivo agora é configurável (-P bytes =)
- adiciona analisador DER experimental (tipo de campo "der" softmagic)
- adicione o formato de saída terminado em NUL -00
- código de descompressão agora reporta erros de descompactação
- adicione suporte ao zlib se o SO tiver
- Correções de erros:
- corrija a análise indireta de ID3
- forneça o dprintf (3) para os sistemas operacionais que não o possuem
- o código de exclusão de REG_STARTEND não está funcionando como esperado
- forking para descompressão foi quebrado com magic_buffer
O
O que há de novo na versão 5.25:
- adicione um limite ao tamanho das pesquisas de regex
- corrigir problemas com --parameter
- Windows corrige o PR / 466
O que há de novo na versão 5.24:
- corrige a análise das opções longas de mime
- ajuste a mágica do mapa FIT para funcionar após a correção do bug de data em 5.23
O que há de novo na versão 5.22:
- Bugs:
- reestruture a impressão da nota elf para evitar mensagens repetidas
- adicionar limite de notas, sugerido por Alexander Cherepanov
- Bail out em pread parcial () (Alexander Cherepanov)
- Corrigir verificação de limites incorretos em file_printable (Alexander Cherepanov)
- PR / 405: ignore o SIGPIPE de programas de descompactação
- alterar para impressão - & gt; file_printable e usá-lo em mais lugares para segurança
- Funcionalidades:
- adicionar relativo indireto para TIFF / Exif
- no ELF, em vez de & quot; (utiliza bibliotecas dinâmicas) & quot; quando PT_INTERP estiver presente, imprima o nome do interpretador.
O que há de novo na versão 5.20:
- 1.sm.webp: Dados RIFF (little-endian), imagem Web / P, codificação VP8, 320x214, Escala: [nenhum] x [nenhum], cor YUV, decodificadores devem clampear
- 1.webp: Dados RIFF (little-endian), imagem Web / P, codificação VP8, 550x368, Escala: [nenhum] x [nenhum], cor YUV, decodificadores devem ser usados
- CCITT_1.TIF: Dados de imagem TIFF, little-endian, direntries = 17, altura = 2376, bps = 1, compactação = grupo de dois níveis 4, PhotometricIntepretation = WhiteIsZero, name = Entrada padrão, descrição = arquivo PBM convertido, largura = 1728
- FLOWER.jpg: dados de imagem JPEG, linha de base, precisão 8, 2592x3904, quadros 3
- FLOWER.wdp: JPEG-XR Imagem, hard tile, xform espacial = TL, cabeçalho curto, 2592x3904, bitdepth = 5-6-5, colorfmt = YONLY
- MARBLES.TIF: dados de imagem TIFF, little-endian, direntries = 16, altura = 1001, bps = 206, compression = LZW, PhotometricInprpration = RGB, width = 1419
- Existem também alguns bugs corrigidos das versões anteriores, então essa seria a versão recomendada para usar ...
O que há de novo na versão 5.17:
- Conte os níveis de recursão através da magia indireta li>
- Impede a recursão infinita em arquivos com desvios indiretos de 0
- Adicione o sinalizador -E que faz com que o arquivo imprima erros no sistema de arquivos para stderr e saia.
- poderia imprimir resultados de várias entradas mágicas se houvesse várias correspondências.
- Em alguns casos, o estouro não foi detectado ao calcular deslocamentos na softmagic.
- Use strcasestr () para strings cdf
- Redefinir para o & quot; C & quot; localidade ao fazer operações regex ou comparações sem distinção entre maiúsculas e minúsculas; isso é provisório
A impressão em míel
O que há de novo na versão 5.16:
- Sempre deixe o arquivo mágico carregado, não descarregue para magic_check , etc.
- Corrigir a codificação padrão para binário em vez de desconhecido, que quebrou recentemente
- Manipula arquivos vazios e de um byte, menos especialmente para que a codificação --mime não quebre completamente
- Corrigir código de saída diferente de zero incorreto de arquivo e mensagem inexistentes
- Adicionar detecção de arquivo CDF MSI (Guy Helmer)
Comentários não encontrado