2011-08-29 26 views
20

El comando unix file utiliza una base de datos de archivos "mágica" para determinar qué tipo de datos contiene un archivo, independientemente del nombre o la extensión del archivo.Cómo crear una base de datos de archivos mágicos personalizada

Necesito crear mi base de datos mágica personalizada para fines de prueba, pero no puedo encontrar cómo crear una.

Respuesta

14

Puede obtener man magic para obtener una descripción de cómo crear su propio archivo mágico. Luego use file -C -m <your magic file> para compilarlo, y file -m <your magic file> para usarlo.

+0

si tiene privilegios de root, puede editar magic o magic.mime según sea necesario en lugar de crear un nuevo archivo – yitwail

+0

de nuevo ¿cómo ayuda esto? Si está en el manual, ¿puedes dar un ejemplo? –

+0

@PauloNeves los detalles de la sintaxis no son triviales, ya que la página man (o un [enlace]) (https://linux.die.net/man/5/magic)) es mucho mejor. "Cada línea del archivo especifica una prueba que se realizará. Una prueba compara los datos que comienzan en un desplazamiento particular en el archivo con un valor de byte, una cadena o un valor numérico. Si la prueba tiene éxito, se imprime un mensaje. consta de los siguientes campos: desplazamiento, tipo, prueba, mensaje ". cweiske tiene un ejemplo como respuesta a continuación. –

5

En este artículo: https://linux.die.net/man/1/file (o man file)

búsqueda de magic.mgc para la explicación

La información para identificar esos archivos se lee desde el /usr/share/file/magic.mgc magia archivo compilado o /usr/share/file/magic si el archivo de compilación no existe. Además, el archivo se verá en $ HOME/.magic.mgc o $HOME/.magic para entradas mágicas.

+1

¿Cómo ayuda esto al póster a crear una base de datos mágica personalizada? – Gray

1

estoy usando el siguiente archivo de magia ahora para mis pruebas de unidad:

0  search/1/c  =<?php     PHP script text 
!:mime text/x-unittest 

Con ello, cada archivo PHP (comenzando con <?php) obtendrá el tipo MIME text/x-unittest.

Cuestiones relacionadas