1. 首页
  2. 技术知识

Linux file命令的使用

1.命令简介

file命令用来识别文件类型,对文件的检查分为文件系统、魔法幻数检查和语言检查三个过程,也可用来辨别一些文件的编码格式。它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的。


2.命令格式

file [-bchiklLNnprsvz0] [–APPle] [–mime-encoding] [–mime-type] [-e testname] [-F separator] [-f namefile] [-m magicfiles] file …

file -C [-m magicfiles]

file [–help]
3.选项说明

-b,–brief:简约模式,不显示文件名称;

-C,–compile:生成magic.mgc文件。配合选项-m使用

-c, –checking-printout:对魔法文件的解析结果打印输出

-e, –exclude [testname]:排除对指定类型文件的检查,testname可取值有apptype、ascii、encoding、tokens、cdf、compress、elf、soft、tar

-F, –separator [separator]:使用指定分隔符替换输出文件名后的默认的”:”分隔符

-f, –files-from [namefile]:从文件namefile中读取待检测的文件,每行一个

-i, –mime:输出mime类型的字符串而不是可读字符串,比如输出”text/plain; charset=us-ascii”而不是”ASCII text”

–mime-type, –mime-encoding:像-i,但是只打印指定元素;

-k, –keep-going:不在首次匹配时停止,继续检查

-l, –list:Print information about the strength of each magic pattern

-L, –dereference:查看对应软链接对应文件的文件类型

-m, –magic-file [magicfiles]:指定magic file。magic file指的是那些具有特殊内容的文件,比如C文件,它会有#include字样;tar文件的前几个字节会有特殊的规则。而检验magic file规则就是根据这些特殊的格式去判断一个文件的类型。而这些规则是保存在$HOME/.magic.mgc

-N, –no-pad:Don’t pad filenames so that they align in the output

-n, –no-buffer:强制刷新标准输出stdout。这个选项只在检查多个文件时有效。在通过管道获取文件类型时也可以使用该选项

-p, –preserve-date:保留待检测文件的access time,即使file命令不更改待检测文件的access time

-r, –raw:不将不可打印字符转换为\ooo的八进制形式,正常情况下,file会做转换

-s, –special-files:正常情况下,file命令只支持普通文件的检测,就像stat(2)一样。使用该选项可以让file命令支持特殊文件,比如原始磁盘分区等

-v, –version:显示版本信息

-z, –uncompress:尝试去解读压缩文件的内容

-0, –print0:在文件名后输出空字符’\0′

–help:显示帮助信息
4.常用示例

(1)查看文件类型。

[root@TENCENT64 ~]# file Changelog

Changelog: ASCII text(2)不输出文件名称,只显示文件格式以及编码。

[root@TENCENT64 ~]# file -b Changelog

ASCII text(3)输出mime类型的字符串。

[root@TENCENT64 ~]# file -i Changelog

Changelog: text/plain; charset=us-ascii(4)查看软链接对应文件的文件类型。

[root@TENCENT64 ~]# ll Changelog*

-rw-r–r– 1 root root 1598 Nov 6 22:39 Changelog

lrwxrwxrwx 1 root root  9 Nov 6 23:07 Changelog.ln -> Changelog

#产看软链接本身类型

[root@TENCENT64 ~]# file Changelog.ln

Changelog.ln: symbolic link to `Changelog’

#查看软链接对应文件的文件类型

[root@TENCENT64 ~]# file -L Changelog.ln

Changelog.ln: ASCII text以上就是Linux file命令的使用的详细内容,更多关于Linux file命令的资料请关注共生网络其它相关文章!

原创文章,作者:starterknow,如若转载,请注明出处:https://www.starterknow.com/107587.html

联系我们