导读 FILE命令用来识别文件类型,也可用来辨别一些文件的编码格式。它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的。本文介绍Linux下的六个有关file的实例。

简介

file的官方解释为:

  1. file - determine file type

也就是说可以识别文件类型的意思,也可用来辨别一些文件的编码格式。它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的,所以加不加后缀真的无所谓,谁会爱上谁,说起Windows吗,啥也不说了。

实例

下面看几个比较实用的例子。

实例一 :默认

file后直接跟文件,得到如下所示信息

  1. ➜   file book.pdf
  2. delete.pdf: PDF document, version 1.3
  3. ➜   file book
  4. delete: PDF document, version 1.3

可以看出加不加后缀都是没有关系的。

实例二:不显示名称
  1. ➜ file -b book.pdf
  2. PDF document, version 1.3

加上-b参数,是brief的含义,将只显示文件辨识结果,不显示文件名称了,这个其实对于很多文件而言,不是很友好。

实例三:输出易懂信息
  1. ➜  file -i  delete.pdf
  2. delete.pdf: application/pdf; charset=binary

加上-i参数,是mime类型的含义,我也不懂是啥意思,但是我能刚方便地读懂我想知道的文件类型的含义。这就够了,不是吗,毕竟我们是来是用file命令的。

实例四:查看文件中的文件名的文件信息
  1. ➜  cat hello.txt
  2. sunset.jpg
  3. ➜  file -f hello.txt
  4. sunset.jpg: JPEG image data, JFIF standard 1.01

这个咋听着这么拗口,其实很简单,其实并不难,加上-f参数,是file-from类型的含义,到底是几个意思呢,也就是你想查看文件的类型信息的文件名在一个文件里面,从这个文件里面读取文件来的到信息,如下即可晓得。

实例五:好看的鸡肋
  1. ➜  file -F " === " sunset.jpg sunset.jpg ===  JPEG image data, JFIF standard 1.01

这个功能说实话,没搞明白有什么作用,默认的:感觉挺好用的,当然这个应该属于定制型的,如下所示:

实例六:查看软链接的文件信息
  1. ➜  file a.jpg a.jpg: symbolic link to `sunset.jpg' ➜  file -L a.jpg a.jpg: JPEG image data, JFIF standard 1.01

默认情况下,如果没有L参数,只能得到这个文件是软链接的信息,如果加上这个参数,就能看到源文件的文件信息,这个功能还是很赞的。

原文来自:http://os.51cto.com/art/201703/533896.htm

本文地址:http://www.linuxprobe.com/linux-six-file.html编辑:张@宇,审核员:逄增宝