技术知识库

帮助中心 >  产品文档 >  云服务器 >  如何在Linux中找出文件类型

确定任何操作系统上文件类型的最简单方法通常是查看其扩展名(例如.xml , .sh , .c , .tar等...)。 如果文件没有扩展名怎么办?如何确定其类型?


另请参阅 : 在Linux中找出文件系统类型的7种方法


Linux有一个名为file的有用实用程序,它对指定文件执行一些测试,并在测试成功后打印文件类型。 在这篇简短的文章中,我们将解释有用的文件命令示例,以确定Linux中的文件类型。


注意 :要拥有本文中描述的所有选项,您应该运行文件版本5.25 (在Ubuntu存储库中可用)或更新版本。 CentOS存储库有一个较旧版本的文件命令( file-5.11 ),缺少一些选项。


您可以运行以下命令来验证文件实用程序的版本,如图所示。


$ file -v


file-5.33

magic file from /etc/magic:/usr/share/misc/magic

Linux文件命令示例

1.最简单的文件命令如下所示,您只需提供要查找其类型的文件。


$ file etc

在Linux中查找文件类型

在Linux中查找文件类型


2.您还可以从文件(每行一个)传递要检查的文件的名称,您可以使用-f标志指定,如图所示。


$ file -f files.list

在文件名列表中查找文件类型

在文件名列表中查找文件类型


3.为了使文件更快地工作,您可以从用于确定文件类型的测试列表中排除测试(有效测试包括apptype,ascii,encoding,tokens,cdf,compress,elf,soft和tar),使用-e标志如图所示。


$ file -e ascii -e compress -e elf etc

例如, -s选项使文件也读取块或字符特殊文件。


$ file -s /dev/sda


/dev/sda: DOS/MBR boot sector, extended partition table (last)

5.添加-z选项指示文件查看压缩文件。


$ file -z backup

确定压缩文件

确定压缩文件


6.如果要报告有关内容的信息,而不是压缩文件的压缩信息,请使用-Z标志。


$ file -Z backup

7.您可以使用-i选项告诉file命令输出mime类型字符串而不是更传统的人类可读字符串。


$ file -i -s /dev/sda


/dev/sda: application/octet-stream; charset=binary

8.此外,您可以通过添加-extension开关获得通过斜杠分隔的有效扩展名列表。


$ file --extension /dev/sda

有关更多信息和用法选项,请参阅文件命令手册页。


$ man file


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: