【问题标题】:How to create a custom magic file database如何创建自定义魔术文件数据库
【发布时间】:2011-11-06 08:43:02
【问题描述】:

unix file 命令使用“魔术”文件数据库来确定文件包含的数据类型,与文件名或扩展名无关。

我需要制作我的自定义魔法数据库以进行测试,但我找不到如何创建一个。

【问题讨论】:

    标签: file unix


    【解决方案1】:

    您可以man magic 获取有关如何创建自己的魔法文件的说明。然后使用file -C -m <your magic file>编译,file -m <your magic file>使用。

    【讨论】:

    • 如果你有root权限,你可以根据需要编辑magic或magic.mime而不是创建一个新文件
    • 再说一遍,这有什么帮助?如果在手册中,你能举个例子吗?
    • @PauloNeves 语法的细节并不重要,因为手册页(或 link to it )要好得多。 “文件的每一行都指定要执行的测试。测试将从文件中特定偏移量开始的数据与字节值、字符串或数值进行比较。如果测试成功,则会打印一条消息。该行由以下字段组成:偏移量、类型、测试、消息”。 cweiske 在下面有一个示例作为答案。
    【解决方案2】:

    本文中:https://linux.die.net/man/1/file(或man file

    搜索magic.mgc进行解释

    识别这些文件的信息从编译后的魔术文件 /usr/share/file/magic.mgc 中读取,如果编译文件不存在,则从 /usr/share/file/magic 读取。此外,文件将在 $HOME/.magic.mgc 或 $HOME/.magic 中查找魔术条目。

    【讨论】:

    • 这如何帮助发布者创建自定义魔法数据库?
    【解决方案3】:

    我现在使用以下魔法文件进行单元测试:

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

    有了它,每个 php 文件(以 &lt;?php 开头)都将获得 MIME 类型 text/x-unittest


    另见http://cweiske.de/tagebuch/custom-magic-db.htm

    【讨论】:

    • /1/c 后面的search 是什么意思?间距重要吗?
    • linux.die.net/man/5/magic 与字符串指令一样,在第一个位置使用正则表达式进行搜索,不区分大小写。
    猜你喜欢
    • 1970-01-01
    • 2010-10-15
    • 1970-01-01
    • 1970-01-01
    • 2021-12-07
    • 2017-02-07
    • 2018-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多