Linux 命令详解:file 文件类型检测

发布时间:2026/7/1 2:42:29

Linux 命令详解:file 文件类型检测 1. 命令简介file命令用于探测给定文件的类型。它通过分析文件内容、文件系统元数据以及特定的 ** 魔法数字Magic Numbers** 来判断文件的实际类型而不是仅仅依赖文件扩展名。该命令的检测过程通常分为三个阶段文件系统检查、魔法幻数检查和语言检查。2. 语法格式基本格式bash运行file [选项] 文件批量处理格式bash运行file -f 文件列表3. 常用选项及说明表格选项说明-b, --brief简洁模式。列出辨识结果时不显示文件名只显示类型信息。-c, --checking-printout详细显示指令执行过程便于排错或分析程序执行。会打印出 magic 文件解析的详细信息。-f, --files-from 文件从指定文件中读取待检测的文件名列表格式为每行一个文件名。-L, --dereference跟随符号链接。直接显示符号链接所指向的源文件的类别而不是链接本身。-m, --magic-file 文件指定自定义的魔法数字文件magic file而非使用默认的 /usr/share/misc/magic。-i, --mime输出 MIME 类型字符串如 text/plain而不是传统的可读描述。-I, --mime-type只输出 MIME 类型如 text/plain不包含编码等附加信息。-z, --uncompress尝试查看压缩文件内部的内容类型。-k, --keep-going不因第一个匹配到的 magic 模式而停止继续尝试其他匹配。-v, --version显示 file 命令的版本信息。-h, --help显示帮助信息。4. 示例用法4.1 基本文件类型检测检测单个文件的类型bash运行$ file README.md README.md: UTF-8 Unicode text检测多个文件bash运行$ file image.jpg document.pdf image.jpg: JPEG image data, EXIF standard 2.2 document.pdf: PDF document, version 1.54.2 使用 -b 选项不显示文件名bash运行$ file -b README.md UTF-8 Unicode text4.3 使用 -i 选项输出 MIME 类型输出 MIME 类型bash运行$ file -i script.sh script.sh: text/x-shellscript; charsetus-ascii结合 -b 选项bash运行$ file -b -i script.sh text/x-shellscript; charsetus-ascii4.4 处理符号链接创建一个指向文件的符号链接bash运行$ ln -s /etc/passwd mylink默认检测符号链接本身bash运行$ file mylink mylink: symbolic link to /etc/passwd使用 -L 跟随链接检测目标文件bash运行$ file -L mylink mylink: ASCII text4.5 从文件列表读取-f 选项创建一个包含文件列表的文本文件bash运行$ echo -e /etc/passwd\n/bin/ls list.txt检测列表中的所有文件bash运行$ file -f list.txt /etc/passwd: ASCII text /bin/ls: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]..., for GNU/Linux 3.2.0, stripped4.6 检测压缩文件内部-z 选项创建一个压缩文件bash运行$ gzip -c README.md README.md.gz普通检测bash运行$ file README.md.gz README.md.gz: gzip compressed data, was README.md, last modified: ...获取更多Linux学习资料请关注“阿成学长工具包”公众号对话框中输入2647获取

相关新闻