file:将其参数内容的前几个字节,与样式数据库进行比对,
再在标准输出下,针对各文件显示一行简短报告
用途:该命令用来识别文件类型,也可用来辨别一些文件的编码格式,
它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的。
指令所在路径:/usr/bin/file
命令语法:
file [ -bciLz... ] [ -f namefile ] [ -F separator ] [ -m magicfiles ] file ...
常用的参数:
-b: 列出文件辨识结果时,不显示文件名称。
-c: 详细显示指令执行过程,便于排错或分析程序执行的情形
-f: 列出文件中文件名的文件类型
-F: 使用指定分隔符号替换输出文件名后的默认的“:”分隔符。
-i: 输出mime类型的字符串
-L: 查看对应软链接对应文件的文件类型
-z: 尝试去解读压缩文件的内容
--help:显示命令在线帮助
--version:显示命令版本信息
实例1:
[gz_fieldyang@ test ~]$ file kk
kk: ASCII text
[gz_fieldyang@ test ~]$ file -b example.txt
ASCII text
[gz_fieldyang@ test ~]$ file hello.c
hello.c: ASCII text
[gz_fieldyang@ test ~]$
实例2:测试文件中显示其他文件信息
[gz_fieldyang@ test ~]$ vi sales
example.txt
hello.c
example.txt
file1
Kin_ma 210
Jones_yan 212
Field_yang 118
Will_wu 260
test.html
quotas
#原文件中添加前四行后两行
[gz_fieldyang@ test ~]$ file -f sales
hello.c: ASCII text
example.txt: ASCII text
file1: ASCII text
Kin_ma 210: ERROR: cannot open `Kin_ma 210' (No such file or directory)
Jones_yan 212 : ERROR: cannot open `Jones_yan 212 ' (No such file or directory)
Field_yang 118 : ERROR: cannot open `Field_yang 118 ' (No such file or directory)
Will_wu 260: ERROR: cannot open `Will_wu 260' (No such file or directory)
test.html: HTML document text
quotas: ASCII text
[gz_fieldyang@ test ~]$
strings:针对输入数据查找已换行符号或NUL结尾的四个(或以上)可打印字符的序列,
再将结果打印至标准输出
用途:一般用来查看二进制文件--例如编译的程序或是数据文件的内部信息
实例1:
[gz_fieldyang@ test ~]$ strings -a test.html
<HTML>
<H1>
HELLO Field
</H1>
<H2>
helll field
</H2>
<HTML>TEXT HTML,NO USEFUL
</HTML>
实例2:查看图像文件内部信息
[gz_fieldyang@ test ~]$ strings -a xxxx01.jpg | head -c 256 |fmt -w 65
#head -c 限制显示的字符数,fmt -w 格式化为65字符内每行