查看文件类型的命令

在 Linux 和 Unix 系统中,查看文件类型的主要命令是 **file**。以下是详细用法:

1. 基本用法

1
file 文件名

示例:

1
2
3
4
file image.jpg
# 输出:image.jpg: JPEG image data, ...
file script.sh
# 输出:script.sh: Bourne-Again shell script, ...

2. 查看多个文件

1
file file1.txt file2.png

3. 查看目录下所有文件

1
file *

4. 特殊选项

  • **-i**:显示 MIME 类型
    1
    2
    file -i document.pdf
    # 输出:document.pdf: application/pdf; charset=binary
  • **-b**:简洁输出(不显示文件名)
    1
    2
    file -b archive.zip
    # 输出:Zip archive data, ...
  • **-L**:跟随符号链接(查看链接指向的实际文件)
    1
    file -L symlink

其他相关命令

  • **ls -l**:通过首字符识别基本类型
    1
    2
    3
    4
    ls -l
    # 输出首字符含义:
    # "-" = 普通文件, "d" = 目录, "l" = 符号链接
    # "c" = 字符设备, "b" = 块设备, "s" = 套接字
  • **stat**:查看详细文件信息
    1
    stat filename

示例场景

1
2
3
4
5
6
7
8
$ file /bin/bash
/bin/bash: ELF 64-bit LSB executable, x86-64, ...

$ file -i /etc/passwd
/etc/passwd: text/plain; charset=us-ascii

$ ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 Jan 1 00:00 /dev/null # "c"表示字符设备

📌 提示

  • file 通过分析文件内容(而非扩展名)判断真实类型,可靠性高。
  • 对二进制文件、文本文件、压缩文件、设备文件等均有效。