Linux之file命令

用来探测给定文件的类型,file命令 用来探测给定文件的类型。file命令对文件的检查分为文件系统、魔法幻数检查和语言检查3个过程。

命令语法

file [选项][参数]

命令选项

  • -b:列出辨识结果时,不显示文件名称;
  • -c:详细显示指令执行过程,便于排错或分析程序执行的情形;
  • -f<名称文件>:指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称;
  • -L:直接显示符号连接所指向的文件类别;
  • -m<魔法数字文件>:指定魔法数字文件;
  • -v:显示版本信息;
  • -z:尝试去解读压缩文件的内容。

命令参数

文件:要确定类型的文件列表,多个文件之间使用空格分开,可以使用shell通配符匹配多个文件。

显示文件类型

  1. > file outfile.txt
  2. outfile.txt: ASCII text
  3. > file -b outfile.txt <== 不显示文件名称
  4. ASCII text
  5. > file -i outfile.txt <== 显示MIME类别。
  6. outfile.txt: text/plain; charset=us-ascii
  7. > file -i -b outfile.txt
  8. text/plain; charset=us-ascii

一些常见的类型包括:

  • text/plain:普通文本。
  • text/html:HTML文本。
  • application/pdf:PDF文档。
  • application/msword:Word文档。
  • image/png:PNG图片。
  • mage/jpeg:JPEG图片。
  • application/x-tar:TAR文件。
  • application/x-gzip:GZIP文件。

显示符号链接的文件类型

  1. > file system-release
  2. system-release: symbolic link to `centos-release'
  3. > file -L /tmp/
  4. /tmp/: sticky directory

解读压缩文件的内容

  1. > file -z Python-3.6.4.tgz
  2. Python-3.6.4.tgz: POSIX tar archive (GNU) (gzip compressed data, from Unix, last modified: Tue Dec 19 13:36:13 2017, max compression)

解读可执行程序

  1. > file /usr/bin/ls
  2. /usr/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aaf05615b6c91d3cbb076af81aeff531c5d7dfd9, stripped
  3. > file -i /usr/bin/ls <== 显示MIME类别
  4. /usr/bin/ls: application/x-executable; charset=binary

返回笔记列表
入门小站