请解释一下什么是unix中的魔法文件

请解释一下什么是unix中的魔法文件

我们可以使用file -C -m filename.我的 OS X 机器上还有一个 /usr/share/file/magic包含魔法文件列表的文件夹。

但这是什么?有人可以解释一下,为什么我们应该有魔法文件?我们应该如何创建一个魔法文件?

我阅读了手册页(man fileman magic),但仍然不清楚。

答案1

在 Unix 中,文件只是字节序列,但有些文件具有更多结构。该file命令可以查看字节序列并告诉您一些信息。例如,如果前 4 个字节是 \177 ELF 那么它会告诉您这是一个 elf 文件。然后它会查看更多字节并告诉您它是核心文件、可执行文件还是目标文件。如果字节 6 到 9 是 JFIF,那么它是一个图片文件,程序可以读取更多内容并告诉您相关信息。

其中很多是由数据表驱动的,而不是编译到程序中。这些数据表就是文件中的内容magic

所以你拥有魔法文件的原因是为了让你说出file *并让程序告诉你当前目录中有什么。

相关内容