# file

用来探测给定文件的类型。

## 补充说明

file命令 用来探测给定文件的类型。file命令对文件的检查分为文件系统、魔法幻数检查和语言检查3个过程。

### 语法

    file(选项)(参数)

### 选项

    -b：列出辨识结果时，不显示文件名称；
    -c：详细显示指令执行过程，便于排错或分析程序执行的情形；
    -f<名称文件>：指定名称文件，其内容有一个或多个文件名称时，让file依序辨识这些文件，格式为每列一个文件名称；
    -L：直接显示符号连接所指向的文件类别；
    -m<魔法数字文件>：指定魔法数字文件；
    -v：显示版本信息；
    -z：尝试去解读压缩文件的内容。

### 参数

文件：要确定类型的文件列表，多个文件之间使用空格分开，可以使用shell通配符匹配多个文件。

### 实例

显示文件类型

    [root@localhost ~]# file install.log
    install.log: UTF-8 Unicode text

    [root@localhost ~]# file -b install.log      <== 不显示文件名称
    UTF-8 Unicode text

    [root@localhost ~]# file -i install.log      <== 显示MIME类别。
    install.log: text/plain; charset=utf-8

    [root@localhost ~]# file -b -i install.log
    text/plain; charset=utf-8

显示符号链接的文件类型

    [root@localhost ~]# ls -l /var/mail
    lrwxrwxrwx 1 root root 10 08-13 00:11 /var/mail -> spool/mail

    [root@localhost ~]# file /var/mail
    /var/mail: symbolic link to `spool/mail'

    [root@localhost ~]# file -L /var/mail
    /var/mail: directory

    [root@localhost ~]# file /var/spool/mail
    /var/spool/mail: directory

    [root@localhost ~]# file -L /var/spool/mail
    /var/spool/mail: directory