当前位置:首页>Linux>Linux基础 | file 命令使用指南:一眼看穿文件真实类型

Linux基础 | file 命令使用指南:一眼看穿文件真实类型

  • 2026-09-15 22:27:57
Linux基础 | file 命令使用指南:一眼看穿文件真实类型
在 Linux 中,你是否遇到过这样的情况:
  • 一个文件没有后缀,不知道是什么类型
  • 下载的文件打不开,不确定格式
  • 脚本文件无法执行
  • 图片/压缩包被改名了
例如:
mv test.jpg test.txt
此时你再看:
ls
会发现:
test.txt
但它其实还是一张图片!
这时候,Linux 提供了一个非常实用的命令:file
一句话理解:

file 用于识别文件的真实类型,而不是看文件后缀。

一、file 命令基本语法

基本格式:
file 文件名
示例:
file test.txt
输出:
test.txt: JPEG image data
说明:
👉 虽然是 .txt,但本质是JPEG 图片

二、file 的工作原理

很多人以为:
👉 文件类型 = 后缀名
其实在 Linux 中:

文件类型是通过“文件内容特征”识别的

file 命令会读取文件头(magic number),来判断类型。
例如:
PNG 文件以 89 50 4E 47 开头
ELF 可执行文件有固定标识
shell 脚本以 #! 开头
这就是为什么:

改后缀并不会改变文件本质

三、识别常见文件类型

1️⃣ 文本文件

file test.txt
输出:
ASCII text

2️⃣ 可执行文件

file /bin/ls
输出:
ELF 64-bit LSB executable
说明:
👉 这是 Linux 可执行程序

3️⃣ 压缩文件

file test.tar.gz
输出:
gzip compressed data

4️⃣ 图片文件

file image.png
输出:
PNG image data

四、批量检测文件类型

可以一次检测多个文件:
file *
输出:
test.txt: ASCII text
image.png: PNG image data
app: ELF executable
👉 非常适合快速扫描目录

五、检测目录中的所有文件

结合 find 使用:
find . -type f -exec file {} \;
作用:
👉 递归检测所有文件类型

六、判断文件是否是脚本

例如:
file script.sh
输出:
Bourne-Again shell script
说明:
👉 这是一个 bash 脚本
如果脚本无法执行,可以快速判断是否写错。

七、排查文件异常(实战)

场景:文件打不开
例如:
file download.bin
输出:
HTML document
说明:
👉 你下载的“程序”,其实是网页(可能下载失败)
场景:文件损坏
file test.zip
输出:data
说明:
👉 无法识别,很可能文件损坏

八、只显示类型(-b)

如果不想显示文件名:
file -b test.txt
输出:ASCII text
适合脚本中使用。

九、结合脚本自动判断

例如:
file -b file.txt | grep "text"
可以用于:
👉 自动识别文件类型并处理

十、file 的常见应用场景

在实际工作中,file 常用于:
✔ 判断未知文件类型
✔ 排查下载文件问题
✔ 验证脚本文件
✔ 检测文件是否损坏
✔ 安全分析(识别伪装文件)

十一、小结

file 是一个看似简单,但非常实用的命令。
它解决的是:

“这个文件到底是什么?”

一句话总结:file 是 Linux 的“文件鉴定专家”。
📌 最后给你一个非常实用的小技巧:
file *
👉 一秒看清当前目录所有文件类型

最新文章

随机文章