Linux之file命令

2022-06-02 18:38:02 浏览数 (2)

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

命令语法

file [选项][参数]

命令选项

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

命令参数

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

显示文件类型

代码语言:javascript复制
> file outfile.txt 
outfile.txt: ASCII text

> file -b outfile.txt  <== 不显示文件名称
ASCII text

> file -i outfile.txt  <== 显示MIME类别。
outfile.txt: text/plain; charset=us-ascii

> file -i -b outfile.txt 
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文件。

显示符号链接的文件类型

代码语言:javascript复制
> file system-release
system-release: symbolic link to `centos-release'

> file -L /tmp/
/tmp/: sticky directory

解读压缩文件的内容

代码语言:javascript复制
> file -z Python-3.6.4.tgz 
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) 

解读可执行程序

代码语言:javascript复制
> file /usr/bin/ls
/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

> file -i /usr/bin/ls   <== 显示MIME类别
/usr/bin/ls: application/x-executable; charset=binary

原文链接:https://rumenz.com/rumenbiji/linux-file.html

0 人点赞