我已经有十年没有用过 Linux 了,所以我希望这个问题仍然有意义。我一直想知道 Linux 是如何做到这一点的,现在我又想到了。
在 Windows 操作系统中,文件通过其扩展名与应用程序相关联。例如,foo.txt 可以使用记事本 (txt) 打开。而 foo.xls 可以使用 Excel (xls) 打开。
在 Linux 中,文件名没有扩展名(现在有吗?),那么它如何知道使用哪个应用程序打开文件?如果文件名为 foo,我双击它,它实际上会在正确的应用程序中打开。如何做到的?
答案1
实际上,Linux 本身并不关心文件类型,它只关心文件是否可执行,而这由文件的属性而不是内容决定。但是,file
Linux 附带的工具可以提供帮助。
file
将文件内容与数据库进行比较,并查找匹配项。各种文件格式在其标题中使用魔法数字,例如,每个 JPEG 文件都以 开头FFD8
,以 结尾FFD9
。您可能还记得,旧的 DOS 可执行文件总是以 开头MZ
,这又是一个魔法数字。