手册页部分 1: 用户命令

退出打印视图

更新时间: 2014 年 7 月
 
 

file(1)

名称

file - 确定文件类型

用法概要

/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 不存在、无法读取或无法确定其文件状态,不会将其视为错误而影响退出状态。输出将指示该文件已处理,但无法确定其类型。

选项

支持以下选项:

–c

检查幻数文件的格式错误。出于效率的原因,通常不会进行此验证。

–d

对文件执行任何位置敏感和上下文敏感的缺省系统测试。

–f ffile

ffile 包含要检查的文件列表。

–h

遇到符号链接时,此选项会将该文件标识为符号链接。如果未指定 –h,并且 file 是指向不存在的文件的符号链接,则 file 实用程序会将该文件标识为符号链接,就像已指定 –h 一样。

–i

如果文件是常规文件,此选项不会尝试进一步区分文件类型,而是将该文件标识为“常规文件”。

–m mfile
/usr/bin/file

mfile 而非 /etc/magic 用作备用幻数文件。

/usr/xpg4/bin/file

指定包含位置敏感测试的文件的名称,这些测试将应用于文件以将其分类(请参见 magic(4))。如果已指定 –m 选项但未指定 –d 选项或 –M 选项,则执行 –m 选项指定的位置敏感测试后将应用位置敏感的缺省系统测试。

–M Mfile

指定包含位置敏感测试的文件的名称,这些测试将应用于文件以将其分类(请参见 magic(4))。只有在同时指定了 –d 选项时,才会应用位置敏感的缺省系统测试或上下文敏感的缺省系统测试。

如果同时指定了 –M 选项与 –d 选项和/或 –m 选项,或者同时指定了 –m 选项与 –d 选项,将按照这些选项的出现顺序,依次连续地应用由这些选项所指定的位置敏感测试。

操作数

支持下列操作数:

file

要测试的文件的路径名。

用法

有关 file 遇到大于或等于 2 GB(231 字节)文件时行为的说明,请参见 largefile(5)

示例

示例 1 确定参数是否为二进制可执行文件

以下示例将确定参数是否为二进制可执行文件:

file "$1" | grep −Fq executable &&
          printf "%s is executable.\n" "$1"

环境变量

有关影响 file 执行的以下环境变量的描述,请参见 environ(5):LANG、LC_ALL、LC_CTYPE、LC_MESSAGES 和 NLSPATH。

退出状态

将返回以下退出值:

0

成功完成。

>0

出现错误。

文件

/etc/magic

file 的幻数文件

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
system/core-os
CSI
Enabled(已启用)
接口稳定性
Committed(已确定)
标准
请参见 standards(5)

另请参见

crle(1)elfdump(1)elffile(1)ls(1)magic(4)attributes(5)environ(5)largefile(5)standards(5)

附注

file 实用程序无法检查归档成员,除非先将这些成员从归档中提取到单独文件中。elffile 实用程序可以就地检查归档成员,建议与 ELF 目标文件和归档文件一起使用。