Linux file命令:识别文件类型
在 Linux 环境中,file 命令的功能是识别文件类型,也可以用来辨别一些内容的编码格式。
由于 Linux 系统并不是像 Windows 系统那样通过扩展名来定义文件类型的,因此用户无法直接通过文件名来进行区别。file 命令可以通过分析文件头部信息中的标识信息来显示文件类型,使用很方便。
file 命令的语法格式为:
【实例 1】查看指定文件的类型。
【实例 2】查看指定文件的类型,但不显示文件名:
【实例 3】通过MIME来分辨指定文件的类型:
【实例 4】查看符号链接文件的类型,会提示实际的文件名称:
【实例 5】直接查看指定符号链接文件所对应的目标文件的类型:
由于 Linux 系统并不是像 Windows 系统那样通过扩展名来定义文件类型的,因此用户无法直接通过文件名来进行区别。file 命令可以通过分析文件头部信息中的标识信息来显示文件类型,使用很方便。
file 命令的语法格式为:
file 参数 文件名常用参数见下表:
选项 | 描述 | 选项 | 描述 |
---|---|---|---|
-b | 不显示文件名 | -L | 显示符号链接所指向文件的类型 |
-c | 显示执行过程 | -m | 指定魔法数字文件 |
-f | 显示文件类型信息 | -v | 显示版本信息 |
-i | 显示MIME类别信息 | -z | 尝试去解读压缩内的文件内容 |
【实例 1】查看指定文件的类型。
[root@linux ~]# file File.cfg File.cfg: ASCII text [root@linux ~]# file Dir Dir: directory [root@linux ~]# file /dev/sda /dev/sda: block special (8/0) [root@linux ~]# file /bin/ls /bin/ls: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1] =937708964f0f7e3673465d7749d6cf6a2601dea2, stripped, too many notes (256)
【实例 2】查看指定文件的类型,但不显示文件名:
[root@linux ~]# file -b File.cfg ASCII text
【实例 3】通过MIME来分辨指定文件的类型:
[root@linux ~]# file -i File.cfg File.cfg: text/plain; charset=us-ascii
【实例 4】查看符号链接文件的类型,会提示实际的文件名称:
[root@linux ~]# file /dev/cdrom /dev/cdrom: symbolic link to sr0
【实例 5】直接查看指定符号链接文件所对应的目标文件的类型:
[root@linux ~]# file -L /dev/cdrom /dev/cdrom: block special (11/0)