Linux file命令用于显示文件的类型。当你必须找出你以前从未见过的文件类型或文件没有文件扩展名时,它会非常有用。file 正是用于检查文件类型的命令。

Linux file命令语法

Linux file命令的语法如下:

file [OPTION] [FILE]

它可以将一个或多个文件名作为其参数。

如何使用file命令查找文件类型

file命令根据一系列测试对文件进行分类,并根据第一次成功测试确定文件类型。

在没有任何选项的情况下最简单的形式使用时,file命令将显示文件名以及文件类型:

file /etc/group
/etc/group: ASCII text

要仅显示文件类型,请使用-b--brief)选项:

file -b /etc/group
ASCII text

从上面的输出可以看出,/etc/group文件是一个ASCII文本文件。

如何查找多个文件的文件类型

您可以将多个文件传递给file命令:

file /bin/bash /opt/card.zip

命令将在单独的文件上打印每个文件的类型:

/bin/bash:     ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=42602c973215ba5b8ab5159c527e72f38e83ee52, stripped
/opt/card.zip: Zip archive data, at least v1.0 to extract

它还可以接受通配符。例如,要查找当前目录中每个文件的 .jpg类型,您将运行:

file *.jpg
imgage001.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 2083x1250, components 3
imgage031.jpg: JPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, comment: "Created with GIMP", baseline, precision 8, 1280x1024, components 

如何查看文件的Mime类型

使用-i--mime)选项确定文件的mime类型:

file -i /var/www/index.html
/var/www/index.html: text/html; charset=us-ascii

至此,您应该很好地理解如何使用Linux文件命令。有关find命令的更多信息,请参见文件手册页