Man
請解釋一下什麼是unix中的魔術文件
我們可以使用
file -C -m filename
. 在我的 OS X 機器上還有/usr/share/file/magic
一個包含魔法文件列表的文件夾。但這是什麼?有人能解釋一下,我們為什麼要有魔法文件?我們應該如何創建一個魔術文件?
我閱讀了手冊頁(
man file
和man magic
),但仍然不清楚。
在 Unix 中,文件只是一個字節序列,但是有些文件有更多的結構。該
file
命令可以查看字節序列並告訴您一些事情。例如,如果前 4 個字節是 \177 ELF,那麼它將告訴您這是一個 elf 文件。然後它將查看更多字節並告訴您它是核心文件、執行檔還是目標文件。如果字節 6 到 9 是 JFIF,那麼它是一個圖片文件,並且程序可以再次讀取更多資訊並告訴您有關它的資訊。其中很多是由數據表驅動的,而不是被編譯到程序中的。這些數據表就是
magic
文件中的內容。所以你有魔法文件的原因是允許你說
file *
並讓程序告訴你目前目錄中有什麼。