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

Nik*_*nko 7 man file-types

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

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

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

ica*_*rus 15

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

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

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