资源描述:
《linux命令学习手册-file命令》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、参考资料:http://fanqiang.chinaunix.net/a1/b1/20020108/08100041.htmlfile[-beLvz][-f<名称文件>][-m<魔法数字文件>...][文件或目录...]【功能】辨识文件类型。【举例】*检查文件类型:$filefile.cfile/dev/hda输入之后,输出如下:file.c:Cprogramtextfile:ELF32-bitLSBexecutable,Intel80386,version1,dynamicallylinked,
2、notstripped/dev/hda:blockspecial*检查文件类型,不输出文件名:$file-btest/输入之后,输出如下:directory*检查文件类型,文件名和结果用,隔开:$file-F,example/输入之后,输出如下:example,directory这里可以指定其它的分割字符。*检查块文件内部,获得文件系统信息$file-s/dev/hda{,1,2,3,4,5,6,7,8,9,10}输入之后,输出如下:/dev/hda:x86bootsector/dev/hda1:
3、Linux/i386ext2filesystem/dev/hda2:x86bootsector/dev/hda3:x86bootsector,extendedpartitiontable/dev/hda4:Linux/i386ext2filesystem/dev/hda5:Linux/i386swapfile/dev/hda6:Linux/i386swapfile/dev/hda7:Linux/i386swapfile/dev/hda8:Linux/i386swapfile/dev/hda9:em
4、pty/dev/hda10:empty这里,如果没有权限,执行不了。【描述】本手册页说明了3.27版本file命令的使用.File命令试图检查每个参数以判定文件的类型.检查共有三组,按如下顺序进行:文件系统检查,幻数检查,以及语言检查.文件系统检查成功则输出文件类型.输出的类型一般会包含以下的词中的一个:text(文件中仅有ASCII字符,可以用ASCII终端读此文件,以保证内容的可靠性),executable(文件中保存的是程序编译后的结果,一些UNIX内核或其它内核能理解这类文件),或者dat
5、a表示所有其它类型文件(data一般为二进制文件或者不可打印的).但是有的常用的文件格式(如core文件、tar包),虽然也包含二进制数据,却不属于这一类如果要修改/usr/share/magic或者程序本身,preservethesekeywords.当文件为``text''类型时,认为此文件为可读文件.不要象在Berkeley环境中那样做-要把``shellcommandstext''改为``shellscript''.文件系统检查是建立在对stat(2)系统调用结果的分析上的.程序会分析文件
6、是否为空,或者是否是某种特殊文件.对于所有可在现有系统上使用的文件类型(比如套接口文件,动态链接文件,命名管道文件(FIFOs)等),只要它在系统头文件sys/stat.h中已经定义过,就可以被检查到.幻数检查用来检查文件中是否有特殊的固定格式的数据.规范的例子如二进制可执行文件(编译后的程序)a.out,该文件格式在标准include目录下的a.out.h文件中定义,也可能在exec.h中定义.这些文件在文件开始部分附近的一个特殊位置保存有一个'幻数',通过幻数告诉UNIX操作系统此文件是二进制
7、可执行文件,和其中包含的其它类型.幻数的概念已经扩展到数据文件.任何在文件固定位置有与文件类型相关的不变标识符的文件都可以这样表示.这些文件中的信息可以从幻数文件/usr/share/magic中读取.如果文件为ASCII文件,file会试图检查它的语言.语言检查在文件开始的几个块中(任意位置)查找是否有特殊字符串(参看names.h).br指出此文件很可能是troff(1)输入文件,而关键字struct指出此文件是C程序.语言检查不如前两组检查可靠,所以放在最后执行.它也用来检查一些混合文件(例
8、如tar(1)存档文件)并确定文件是`asciitext'类型还是`data'类型.选项-b不输出文件名(简要模式).-c检查时打印输出幻数文件的解析结果.常与-m一起使用,用来在安装幻数文件之前调试它.-f命名文件从在参数表前的命名文件中读出将要检查的文件名(每行一个文件).要有命名文件,或者至少有一个文件名参数;如果要检查标准输入,使用``-''作为文件参数.-mlist指定包含幻数的文件列表.可以是单个文件,也可以是用冒号分开的多个文件.-n每检查完一个文件就强制刷新标准输出