浅谈 Linux 下 file 的六种应用实例

所属分类: 脚本专栏 / linux shell 阅读数: 1629
收藏 0 赞 0 分享

Linux file命令用于辨识文件类型。

通过file指令,我们得以辨识该文件的类型。

语法

file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]

file 是通过查看文件的头部信息来获取文件类型,而不是像 Windows 通过扩展名来确定文件类型的,所以加不加后缀真的无所谓,谁会爱上谁,说起 Windows 吗,啥也不说了。

简介

file 的官方解释为:

file - determine file type

也就是说可以识别文件类型的意思,也可用来辨别一些文件的编码格式。

实例

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

实例一 :默认

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

file book.pdf
delete.pdf: PDF document, version 1.3
file book
delete: PDF document, version 1.3

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

实例二:不显示名

 file -b book.pdf
 PDF document, version 1.3

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

实例三:输出易懂信息

 file -i delete.pdf
delete.pdf: application/pdf; charset=binary

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

实例四:查看文件中的文件名的文件信息

 cat hello.txt
sunset.jpg
 file -f hello.txt
sunset.jpg: JPEG image data, JFIF standard 1.01

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

实例五:好看的鸡肋

 file -F === "sunset.jpg sunset.jpg === JPEG image data, JFIF standard 1.01

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

实例六:查看软链接的文件信息

 file a.jpg a.jpg: symbolic link to `sunset.jpg'
 file -L a.jpg a.jpg: JPEG image data, JFIF standard 1.01

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

以上所述是小编给大家介绍的Linux 下 file 的六种应用实例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

Shell脚本中计算字符串长度的5种方法

这篇文章主要介绍了Shell脚本中计算字符串长度的5种方法,来自于个人Shell脚本长期的开发经验,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell脚本实现把进程负载均衡到多核CPU中

这篇文章主要介绍了Shell脚本实现把进程负载均衡到多核CPU中,可以把进程指定运行在某个CPU中,需要的朋友可以参考下
收藏 0 赞 0 分享

5个Shell脚本编程入门练习例子

这篇文章主要介绍了5个Shell脚本编程入门例子,涵盖了各种操作,又有一些游戏的性质,作为入门练习例子是不很不错的,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell脚本编程中常用的数学运算实例

这篇文章主要介绍了Shell脚本编程中常用的数学运算实例,包含最基本的加减乘除,还有质数、偶数的判断等,需要的朋友可以参考下
收藏 0 赞 0 分享

5个实用的shell脚本面试题和答案

这篇文章主要介绍了5个实用的shell脚本面试题和答案,给出的脚本堪称编码规范,麻雀虽小,异常处理,友好提示,一应俱全,值得学习,需要的朋友可以参考下
收藏 0 赞 0 分享

使用bash shell删除目录中的特定文件的3种方法

这篇文章主要介绍了使用bash shell删除目录中的特定文件的3种方法,分别为扩展模式匹配符、GLOBIGNORE 变量和find 命令,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell获取文件的文件名和扩展名的例子

这篇文章主要介绍了Shell获取文件的文件名和扩展名的例子,简明版的代码实例,看了就懂,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell多线程操作及线程数控制实例

这篇文章主要介绍了Shell多线程操作及线程数控制实例,文中从单线程实现一个需求开始,不断加入代码实现多线程以及线程数的控制功能,需要的朋友可以参考下
收藏 0 赞 0 分享

阿里云主机一键安装lamp、lnmp环境的shell脚本分享

这篇文章主要介绍了阿里云主机一键安装lamp、lnmp环境的shell脚本分享,需要的朋友可以参考下
收藏 0 赞 0 分享

shell脚本转发80端口数据包给Node.js服务器

开发基于Node.js的WEB应用很方便,但是服务端口问题很蛋疼,由于Linux内核规定普通用户只能使用大于1024的端口号,所以使用普通用户运行Node.js服务就不能监听80端口
收藏 0 赞 0 分享
查看更多