Explique por favor o que é um arquivo mágico no unix [closed]

1

Podemos criar arquivos mágicos com file -C -m filename . Também há a pasta /usr/share/file/magic com uma lista de arquivos mágicos na minha máquina OS X.

Mas o que é isso? Alguém explicaria, por que deveríamos ter arquivos mágicos? Como devemos criar um arquivo mágico?

Eu li as man pages ( man file e man magic ), mas ainda não está claro.

    
por Nikolay Tabunchenko 20.09.2017 / 00:21

1 resposta

9

No Unix, um arquivo é apenas uma seqüência de bytes, no entanto, alguns arquivos têm mais estrutura. O comando file pode olhar a seqüência de bytes e dizer coisas. Por exemplo, se os primeiros 4 bytes forem \ 177 E L F, ele dirá que é um arquivo elf. Em seguida, ele examinará mais bytes e informará se é um arquivo principal, um executável ou um arquivo de objeto. Se os bytes 6 a 9 forem JFIF, então é um arquivo de imagem e, novamente, o programa pode ler mais e informá-lo sobre isso.

Grande parte disso é impulsionada por tabelas de dados, em vez de serem compiladas no programa. Essas tabelas de dados são o que está nos arquivos magic .

Portanto, o motivo pelo qual você tem arquivos mágicos é permitir que você diga file * e faça com que o programa informe o que você tem no diretório atual.

    
por 20.09.2017 / 00:37