美文网首页
file [options] file

file [options] file

作者: Wavky | 来源:发表于2016-12-07 13:19 被阅读0次

    识别文件类型,不依赖于后缀名。
    该命令将按序运行三套识别模式,直至返回得到测试结果。
    预设模式下,只分析普通文件的具体类型,不会尝试读取特殊文件的内容,除非指定-s参数。

    识别模式

    1. 文件系统测试:检验文件是否为空文件,或是否为某一类特殊系统文件,如socket、软链接、FIFO等。
    2. magic file 测试:检验文件是否匹配某一类特定格式(通常为文件头附近的特殊字节,称为 magic number),识别为某一类已知的二进制文件,如可执行文件,识别规则在/usr/share/file/magic.mgc等目录中。
    3. 语言测试:检验文件是否为文本文件,识别其内容字符集及文本类型属性(如使用非标准的行结束符,或包含转义短句等),确定文件使用的字符集后,进一步推断可能对应的编程语言。该测试也包括检查文件是否为 tar 文档等杂项类型。如无法判断其使用的字符集,则类型结果推定为data

    返回结果类型

    1. text:表示文件全由可打印字符和部分控制字符组成,并且很可能可通过 ASCII 终端访问阅读
    2. executable:可用于UNIX内核等直接运行的编译程序
    3. data:其他不属于上述两类的二进制文件(上述三组测试均无法确定的文件类型)

    options

    -b 摘要模式,不显示文件名
    -F separator 指定文件名:类型结果分隔符,默认为冒号:
    -f namefile 逐行读取 namefile 文件,并逐一识别其对应的文件类型,namefile 为空文件或指定为-时,将读取标准输入。该命令会优先执行文本解析,并作为目标文件列表参数提供,因此必须作为最后一个参数进行定义
    -L 跟踪符号链接,显示其指向的文件类型(默认选项)
    -h 不跟踪符号链接,显示其本身类型
    -i 不判断显示普通文件的子类型
    -I / --mime 显示 MIME 类型格式
    --mime-type 仅显示 MIME 类型中的文件类型信息(忽略编码格式等)
    -k 执行完整匹配识别模式,打印所有判断结果
    -p 分析时,不更新文件的 atime
    -s 目标文件为块文件或字符文件时,尝试读取其内容,主要用于读取位于另一 Raw 格式磁盘、分区的数据文件类型
    -z 尝试读取压缩文件

    magic 测试支持

    -c 打印 magic 测试的执行过程输出,常用于调试新编辑的 magic 文件
    -C 以file -C [-m magic_list]方式执行,对目标 magic 文件编译出 magic.mgc 文件
    -m magic_list 使用指定的多个 magic 文件或其目录,使用冒号:分割(优先调用已编译版本)
    -d 使用系统定义的 magic 文件测试
    -M magic_list 与-m相同,但不使用系统定义的 magic 文件测试

    相关文章

      网友评论

          本文标题:file [options] file

          本文链接:https://www.haomeiwen.com/subject/htbdmttx.html