我们可以使用file -C -m filename
.我的 OS X 机器上还有一个 /usr/share/file/magic
包含魔法文件列表的文件夹。
但这是什么?有人可以解释一下,为什么我们应该有魔法文件?我们应该如何创建一个魔法文件?
我阅读了手册页(man file
和man magic
),但仍然不清楚。
答案1
在 Unix 中,文件只是字节序列,但有些文件具有更多结构。该file
命令可以查看字节序列并告诉您一些信息。例如,如果前 4 个字节是 \177 ELF 那么它会告诉您这是一个 elf 文件。然后它会查看更多字节并告诉您它是核心文件、可执行文件还是目标文件。如果字节 6 到 9 是 JFIF,那么它是一个图片文件,程序可以读取更多内容并告诉您相关信息。
其中很多是由数据表驱动的,而不是编译到程序中。这些数据表就是文件中的内容magic
。
所以你拥有魔法文件的原因是为了让你说出file *
并让程序告诉你当前目录中有什么。