1.命令简介
file命令用来识别文件类型,对文件的检查分为文件系统、魔法幻数检查和语言检查三个过程,也可用来辨别一些文件的编码格式。它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的。
2.命令格式
1
2
3
|
file [-bchiklLNnprsvz0] [--apple] [--mime-encoding] [--mime- type ] [-e testname] [-F separator] [-f namefile] [-m magicfiles] file ... file -C [-m magicfiles] file [--help] |
3.选项说明
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
-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)查看文件类型。
1
2
|
[root@TENCENT64 ~] # file Changelog Changelog: ASCII text |
(2)不输出文件名称,只显示文件格式以及编码。
1
2
|
[root@TENCENT64 ~] # file -b Changelog ASCII text |
(3)输出mime类型的字符串。
1
2
|
[root@TENCENT64 ~] # file -i Changelog Changelog: text /plain ; charset=us-ascii |
(4)查看软链接对应文件的文件类型。
1
2
3
4
5
6
7
8
9
10
11
|
[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命令的资料请关注服务器之家其它相关文章!
原文链接:https://cloud.tencent.com/developer/article/1369620