文件類型(文件內容)

此頁由 Linux Wiki用戶Chenxing 於 2012年3月12日 (星期一) 19:33 的最後更改。

從 Linux Wiki

提示:此文已超过 12 年(4668 天)未更新,如发现内容过时或有误,欢迎改进:)
Note.gif
同名條目:
文件類型還有其它含義,請參閱文件類型

文件內容的類型決定了文件的打開方式,有時用戶也會對某個文件的具體類型感興趣。與Windows只用文件擴展名區分文件類型不同,Linux採取了更為靈活的確定文件類型方法(主要依靠Magic Number檢測法)。

Hint.gif
提示:
要想修改某種文件類型的打開方式,請參閱文件關聯

判斷文件內容的類型

Linux判斷文件類型的一大法寶是Magic Number(Wikipedia英文介紹),一般是文件開頭的一些信息。不同的文件類型通常具有不同的特徵文件開頭,使用該方法探測文件類型比較可靠。

對於最終用戶而言,看一個文件的文件類型有幾種方法:

file命令
Linux中的file命令可以探測文件類型,同時還會輸出一些文件的語言信息。如果文件不是普通文件(見文件類型 (文件系統)),file命令也會如實告知。
文件管理器
各款桌面環境都有文件管理器,右鍵點一下文件,查看「屬性」無疑是在桌面環境中最為簡便的檢測方法。此方法得到的一般是MIME類型。
擴展名
通過擴展名判斷文件類型的方法在Linux中也適用,不過該方法了解到的信息可能不夠精準,見下面的討論。
xdg-mime命令
xdg-mime query filetype 文件名可在命令行環境中得到文件的MIME類型。

Linux中的擴展名

雖然Linux判斷文件類型時並不依賴於擴展名,但Linux中的文件名多數還是帶有擴展名的。這樣做的原因有二:一是方便人從文件擴展名推測文件類型;二是兼容其它系統的考慮。如:.so文件通常是動態鏈接庫文件,.gz文件通常是壓縮文件,.jpg .png .gif等是圖片文件,此時擴展名對用戶直觀了解文件類型是有幫助的。

另外,即便在Linux中,應用程序的打開文件對話框一般也是用擴展名來過濾文件的,這也是擴展名的一大用處。

但應注意擴展名的使用是有安全隱患的,比如如果有惡意程序偽裝成.jpg文件,我們不小心執行了它,後果不堪不設想。所以要牢記後綴名在Linux中只起輔助作用,不起決定性作用。

本文对您有帮助?分享给更多朋友!

反馈与讨论

发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。
個人工具
简体繁体转换