文件类型(文件内容)

此页由Linux Wiki用户Chenxing于2012年3月12日 (星期一) 19:33的最后更改。

出自Linux Wiki

(重定向自扩展名
提示:此文已超过 4 年(1728 天)未更新,如发现内容过时或有误,欢迎改进:)
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中只起辅助作用,不起决定性作用。

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

反馈与讨论

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