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

时间:2009-03-11 16:34:30

标签: linux perl unix file-type

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

4 个答案:

答案 0 :(得分:7)

您可以通过将它们添加到/ etc / magic

来提出自己的规则

man文件了解更多详情。总是得到这些正确是很棘手的,但是我已经取得了合理的成功。

答案 1 :(得分:3)

尝试mimetype(1)。

对于Perl,请查看File::MimeInfo

答案 2 :(得分:1)

您可以使用Perl模块:File::Type

答案 3 :(得分:1)

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

File::MimeInfo使用'file'使用的相同MimeInfo数据库来识别文件。所以不太可能做出任何不同的事情。

File::Type可能会很有趣,因为它只依赖于自身,但这导致了一个充满'if'语句的滑稽长脚本。但就其本质而言,这不太可能涵盖已经没有涵盖的“档案”。

使用未知文件类型可以做的最好的事情是尝试使用十六进制编辑器打开它们,或者通过“字符串”运行它们,看看你是否识别出任何东西。如果你管理如何识别文件,你可能希望选择File::Type作为你的解决方案,因为据我所知,它至少很容易扩展。