如何创建自定义魔术文件数据库
问题描述:
unix file
命令使用“魔术”文件数据库来确定文件包含哪种类型的数据,与文件的名称或扩展名无关。如何创建自定义魔术文件数据库
我需要制作我的自定义魔术数据库用于测试目的,但我找不到如何创建一个。
答
您可以man magic
了解如何创建自己的魔法文件的说明。然后用file -C -m <your magic file>
来编译它,然后用file -m <your magic file>
来使用它。
答
本文内容:https://linux.die.net/man/1/file(或man file
)
搜索magic.mgc
的解释
识别这些文件中的信息是从编译magic文件读取/usr/share/file/magic.mgc如果编译文件不存在,则返回
/usr/share/file/magic
。此外,文件将在$ HOME/.magic.mgc或$HOME/.magic
中查找魔术条目。
+1
这是如何帮助海报创建自定义魔术数据库? – Gray
答
我现在使用下面的魔术文件我的单元测试:
0 search/1/c =<?php PHP script text
!:mime text/x-unittest
有了它,每一个PHP文件(<?php
开始)将获得MIME类型text/x-unittest
。
如果你有root权限,你可以根据需要编辑magic或magic.mime,而不是再创建一个新文件 – yitwail
,这有什么帮助?如果它在手册中,你可以举一个例子吗? –
@PauloNeves语法的细节不是微不足道的,因为手册页(或[链接到它](https://linux.die.net/man/5/magic))好得多。 “文件的每一行都指定了要执行的测试,测试将文件中从特定偏移量开始的数据与字节值,字符串或数值进行比较,如果测试成功,则会打印一条消息。由以下字段组成:偏移,类型,测试,消息“。下面的答案是cweiske的一个例子。 –