/usr/bin/file [-dh] [-m mfile] [-M Mfile] [ -f ffile] file...
/usr/bin/file [-dh] [-m mfile] [-M Mfile] -f ffile
/usr/bin/file -i [-h] [ -f ffile] file...
/usr/bin/file -i [-h] -f ffile
/usr/bin/file -c [-d] [ -m mfile] [-M Mfile]
/usr/xpg4/bin/file [-dh] [ -m mfile] [-M Mfile] [-f ffile] file...
/usr/xpg4/bin/file [-dh] [ -m mfile] [-M Mfile] -f ffile
/usr/xpg4/bin/file -i [-h ] [-f ffile] file...
/usr/xpg4/bin/file -i [-h ] -f ffile
/usr/xpg4/bin/file -c [-d ] [-m mfile] [-M Mfile]
file 实用程序可对 file 提供的每个文件执行一系列测试,也可以对 ffile 中列出的每个文件进行测试,以尝试将其分类。如果该文件不是一个常规文件,则会标识其文件类型。文件类型目录、FIFO、块特殊文件和字符特殊文件就是这样标识的。如果文件是常规文件并且长度为零,将标识为空文件。
如果 file 看起来是文本文件,file 将检查第一个 512 字节并尝试确定其编程语言。如果 file 是符号链接,缺省情况下将遵循该链接,file 将测试符号链接所指向的文件。
如果 file 是可重定位目标文件、可执行文件或共享目标文件,file 将输出有关该文件的执行要求的信息。此信息包括机器类、字节排序、静态/动态链接以及任何软件或硬件功能要求。如果 file 是运行时链接配置文件,file 将显示有关目标平台的信息,包括机器类和字节排序。
缺省情况下,file 将尝试使用本地化的幻数文件 /usr/lib/locale/locale/LC_MESSAGES/magic(如果存在)来标识具有幻数的文件。例如,在日文语言环境中,file 将尝试使用 /usr/lib/locale/ja/LC_MESSAGES/magic。如果不存在本地化的幻数文件,file 将使用 /etc/magic。幻数是表示文件类型的数字或字符串常量。有关 /etc/magic 格式的说明,请参见 magic(4)。
如果 file 不存在、无法读取或无法确定其文件状态,不会将其视为错误而影响退出状态。输出将指示该文件已处理,但无法确定其类型。
支持以下选项:
检查幻数文件的格式错误。出于效率的原因,通常不会进行此验证。
对文件执行任何位置敏感和上下文敏感的缺省系统测试。
ffile 包含要检查的文件列表。
遇到符号链接时,此选项会将该文件标识为符号链接。如果未指定 –h,并且 file 是指向不存在的文件的符号链接,则 file 实用程序会将该文件标识为符号链接,就像已指定 –h 一样。
如果文件是常规文件,此选项不会尝试进一步区分文件类型,而是将该文件标识为“常规文件”。
将 mfile 而非 /etc/magic 用作备用幻数文件。
指定包含位置敏感测试的文件的名称,这些测试将应用于文件以将其分类(请参见 magic(4))。如果已指定 –m 选项但未指定 –d 选项或 –M 选项,则执行 –m 选项指定的位置敏感测试后将应用位置敏感的缺省系统测试。
指定包含位置敏感测试的文件的名称,这些测试将应用于文件以将其分类(请参见 magic(4))。只有在同时指定了 –d 选项时,才会应用位置敏感的缺省系统测试或上下文敏感的缺省系统测试。
如果同时指定了 –M 选项与 –d 选项和/或 –m 选项,或者同时指定了 –m 选项与 –d 选项,将按照这些选项的出现顺序,依次连续地应用由这些选项所指定的位置敏感测试。
支持下列操作数:
要测试的文件的路径名。
有关 file 遇到大于或等于 2 GB(231 字节)文件时行为的说明,请参见 largefile(5)。
以下示例将确定参数是否为二进制可执行文件:
file "$1" | grep −Fq executable && printf "%s is executable.\n" "$1"
有关影响 file 执行的以下环境变量的描述,请参见 environ(5):LANG、LC_ALL、LC_CTYPE、LC_MESSAGES 和 NLSPATH。
将返回以下退出值:
成功完成。
出现错误。
file 的幻数文件
有关下列属性的说明,请参见 attributes(5):
|
crle(1)、elfdump(1)、elffile(1)、ls(1)、magic(4)、attributes(5)、environ(5)、largefile(5)、standards(5)
file 实用程序无法检查归档成员,除非先将这些成员从归档中提取到单独文件中。elffile 实用程序可以就地检查归档成员,建议与 ELF 目标文件和归档文件一起使用。