在Linux中如何确定文件类型?

在Linux中如何确定文件类型?,linux,perl,unix,file-type,Linux,Perl,Unix,File Type,如果有人发送给我一个没有扩展名的文档(.pdf、.doc、.xls、ppt、.ogg、mp3、png等),我如何确定文件类型?/usr/bin/file命令并不总是猜对,或者它只是说我有一个Microsoft Office文档。我想确切地知道,以便可以将扩展名添加到文件名。请尝试mimetype(1) 对于Perl,请看。您可以使用Perl模块:您可以通过将它们添加到/etc/magic中来制定自己的规则 有关更多详细信息,请参阅man文件。要始终做到这些是很难的,但是,我已经取得了合理的成功。

如果有人发送给我一个没有扩展名的文档(.pdf、.doc、.xls、ppt、.ogg、mp3、png等),我如何确定文件类型?/usr/bin/file命令并不总是猜对,或者它只是说我有一个Microsoft Office文档。我想确切地知道,以便可以将扩展名添加到文件名。

请尝试mimetype(1)


对于Perl,请看。

您可以使用Perl模块:

您可以通过将它们添加到/etc/magic中来制定自己的规则


有关更多详细信息,请参阅man文件。要始终做到这些是很难的,但是,我已经取得了合理的成功。

到目前为止,其他一些海报似乎忽略了一些事情

使用与“文件”相同的MimeInfo数据库来标识文件。所以这不太可能有什么不同

虽然可能很有趣,因为它只依赖于自身,但这导致了一个充满“如果”语句的长脚本。但就其本质而言,这不太可能涵盖“文件”已经不涵盖的内容


对于未知的文件类型,您最好尝试用十六进制编辑器打开它们,或者通过“字符串”运行它们,看看您是否能识别出任何内容。如果您管理如何识别文件,您可能希望将其作为您的解决方案,因为据我所知,它至少很容易扩展

哦哦!我知道这个!使用Windows!(rich b)——#如果没有扩展,windows甚至无法做到这一点,更不用说猜测您想要perl解决方案,还是某种通用的手动方式?我建议询问发件人他在电子邮件中塞进了什么:)@GeoGeet我们应该为您的评论添加焦油和羽毛=P