1.命令作用
查看文件类型(Determine type of FILEs)
其他说明:Windows系统是通过文件扩展名来定义文件类型;Linux可通过file命令分析文件头部信息中的标识信息来显示文件类型,通过file一系列测试来确认文件是文本文件、目录、链接、二进制、压缩文件等。
2.命令语法
Usage: file [OPTION...] [FILE...]
Usage: file [选项...] [文件...]
3.参数详解
OPTION:
- -b, --brief,不要在命令输出行前加上文件名
- -f, --files-from FILE,从指定的FILE中读取要检查文件类型的文件名
- -F, --separator STRING,使用指定的STRING字符串代替冒号(:)作为文件名称与文件类型的分隔符
- -L, --dereference,遵循符号链接(查看链接所指向的实际文件类型)
- -h, --no-dereference,不遵循符号链接(默认)
- -i, --mime,输出MIME类型字符串
- -z, --uncompress,尝试查看压缩文件
4.常见类型
empty | 空文件 |
directory | 目录文件 |
ASCII text | ASCII编码的文本文件 |
C source | C语言源码程序文件 |
symbolic link | 链接文件 |
executable | 可执行的目标代码文件 |
gzip compressed data | 压缩文件 |
data | 数据文件 |
5.常用用例
5.1.多个文件查看
## 指定确定的多个文件名称查看类型
[root@localhost test]# file file1.txt file2.txt file3.txt
file1.txt: ASCII text
file2.txt: ASCII text
file3.txt: empty
## 使用模糊匹配查看
[root@localhost test]# file file*.txt
file1.txt: ASCII text
file2.txt: ASCII text
file3.txt: empty
file4.txt: empty
file5.txt: empty
## 查看当前目录所有文件,包括空文件、ASSII、压缩文件、C source、link等
[root@localhost test]# file *
dir1: directory
file1.txt: ASCII text
file1.txt.tar.gz: gzip compressed data, from Unix, last modified: Mon Jan 13 02:51:37 2025
file2.txt: ASCII text
file3.txt: empty
file4.txt: empty
file5.txt: empty
file6.csv: ASCII text
hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=01066d8bd364abcf55ec1455a697683590e29a37, not stripped
hello.c: C source, ASCII text
lfile1: symbolic link to `file1.txt'
[root@localhost test]#
5.2.MIME类型查看
[root@localhost test]# file hello
hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=01066d8bd364abcf55ec1455a697683590e29a37, not stripped
[root@localhost test]#
[root@localhost test]# file -i hello
hello: application/x-executable; charset=binary
[root@localhost test]#