li**x file命令

时间:2013.03.31 发布人:w569229056

li**x file命令

已解决问题

谷歌w569229056用户在2013.03.31提交了关于“医见钟情li**x file命令”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-10-27T11:01:57。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,千言万语,表达不了我的感激之情,我已铭记在心 !

希望以下的回答,能够帮助你。

第1个回答

用户名:winca  

file[问答-beLvz][-f<名称文件>][-m<魔法数字文件>.风广..][文件或目录]
【功能】
辨识文件类型。
【举例】
*检查文件类型回露至音:
$filefil茶e.cfile/dev/hda
输入之后,输出如下:
file.c:Cprogramtext
file:ELF32-bitLSBexecutable,Intel80386,version1,
dynamicallylinked,notstripped
/dev/hda:blockspecial
*检查文件类型,不输出文算细陈分多样粒须件名:
$file-btes原t/
输入之后,输出如下:
directory
*检查文件类型,文件名和结果用,隔开:
$file记晚开脚-F,example/
输入之后,输出如下:
example,directory
这里可以指定其它的分割字符。
*检查块文件**,获得文件系统信息
$file-s/dev/hda{,1,2,3,4,5,6,7,8,9,10}
输入之后,输出如下:
/dev/hda:x8女题还教帮投父调办6bootsector
/dev/hda1:Li**x/i386优年积刘孔火教封写约新ext2filesystem
/dev/hda2:x86bootsector
/dev/hda3:x86bootsector,extendedpartitiontable
/dev/hda4:Li**x/i386ext2filesystem
/dev/hda5:Li**x/i386swapfile
/dev/hda6:Li**x/i386swapfile
/dev/hda7:Li**x/i386swapfile
/dev/hda8:Li**x/i386swapfile
/酒孙亚妈便依热提诗升dev/hda9:empty
/dev/hda10:empty
这里,如果没有权限,执行不了。
【描述】
ile命令的使用.File命令试图检查每个参数以判定文件的类型.检查**有三组,按如下顺序进行:文件系统检查,幻数检查,以及语言检查.文件系统检查成功则输出文件类型.
输出的类型一般会包含以下价短毫煤车施汉的词中的一个:text(文件中仅有ASCII字符,可以用ASCII终端读此文件,以保内容的可靠性),executable(文件中保存的是程序编译后的结果,一些UNIX内核或其它内核能理解这类文件),或者data表示所有其它类型文件(data一般为二进制文件或者不可打印的).但是有的常用的文件格式(如core文件、tar包),虽然也包含二进制**,却不属于这一类如果要修改/usr/sh盾附周都露are/magic或者程序本身,preservethesekeywords件那.当文件为``text''类型时,认为此文件为可读文件列交我孔先报解所手项振.不要象在Berkeley环境中那样做-要把``shellcommandstext''改为``shellscript''.
文件系统检查是建立在对stat(2)系统调用结果的分析上的.程序会分死封斯作敌单顺析文件是否为空,或者是否是某种特殊文件.对于所有蒸可在现有系统上使用的文件类型(比如套接口文件,动态链接文件,命名管道文件(FIFOs)等),只要它在系统头文件sys/stat.h中已标告害标度注真欢端号收经定义过,就可以被检查到.
心划普获等东乎电对幻数检查用来检查文件中是否有特殊的固定格式的**安通药争.规范的例子如二进制可执行文件(编译后的程序)a.out,该文件格式在标准include目录下的a.out.h文件中定义,也可能在exec.h中定义.这些文件在文件开始部分附近的一个特殊位置保存有一个'幻数',通过幻数告诉UNIX操作系统此文件是二进制可执行文件,和其中包含的其它类型.幻数的概念已经扩展到**文件.任何在文件固**置有与文件类型相关的不变标识符的文件都可以这样表示.这些文件中的信息可以从幻数文件/usr/share/magic中读取.

如果文件为ASCII文件,file会试图检查它的语言.语言检查在文件开始的几个块中(任意位置)查找是否有特殊字符串(参看names.h).br指出此文件很可能是troff(1)输入文件,而关键字struct指出此文件是C程序.语言检查不如前两组检查可靠,所以放在最后执行.它也用来检查一些混合文件(例如tar(1)存档文件)并确定文件是`asciitext'类型还是`data'类型.
选项
-b
不输出文件名(简要模式).
-c
检查时打印输出幻数文件的解析结果.常与-m一起使用,用来在安装幻数文件之前调试它.
-f命名文件
从在参数表前的命名文件中读出将要检查的文件名(每行一个文件).要有命名文件,或者至少有一个文件名参数;如果要检查标准输入,使用``-''作为文件参数.
-mlist
指定包含幻数的文件列表.可以是单个文件,也可以是用冒号分开的多个文件.
-n
每检查完一个文件就强制刷新标准输出.仅在检查一组文件时才有效.一般在将文件类型输出到管道时才采用此选项.
-v
打印程序版本并退出.
-z
试图查看压缩文件**信息.
-L
(在支持符号链接的系统上)选项显示符号链接文件的原文件,就像ls(1)命令的like-named选项.
-s
通常,file只是试图去检查在文件列表中那些stat(2)报告为正常文件的文件的类型.由于读特殊文件将可能导致不可知后果,所以这样可以防症生问题.使用-s选项时file命令也将去读文件列表中的块特殊文件和字符特殊文件.一般用于从原始磁盘分区中获得文件系统类型,此文件为块特殊文件.这个选项也导致file命令忽略stat(2)报告的文件大小,因为在有些系统中原始磁盘分区的大小报告为0.

【其它】
文件
/usr/share/magic-默认的幻数列表
ENVIRONMENT
环境变量MAGIC用于设置默认的幻数文件.
参看
magic(4)-幻数文件的格式.
strings(1),od(1),hex**mp(1)-检查非textfile的工具.
标准的一致性
本程序比SystemV的FILE命令强大,几乎能分辨出所有的模糊语言.与SystemV的FILE命令大部分兼容.本版本能识别更多的magic,但是,也将因此在有些情况下会**生不同输出(尽管更加精确).
本版本与SystemV的显著区别就是本版本对空格是作为分隔符来处理的,所以不能在格式字符串中包含空格.例如,现有幻数文件中的
>10stringlanguageimpress(imPRESSdata)
要改为
>10stringlanguage\impress(imPRESSdata)
另外,格式字符串中的反斜线符号也要避免.例如,现有幻数文件中的
0string\begindataAndrewToolkitdocument
要改为
0string\\begindataAndrewToolkitdocument

SunOSreleases3.2及以后的版本包括从SystemV发展来的file(1)命令,但有所扩展.本版本与Sun的file命令差别不大.它包括对`&'操作符的扩展,例如,
>16long&0x7fffffff>0notstripped
MAGICDIRECTORY
幻数文件项主要是从U**NET收集来的,许多人都为此作出了贡献.ChristosZoulas(下边将提到的)将收集附加项信息及修正幻数文件项.幻数文件项的合并表将会定时发布.
幻数文件项的顺序非常重要.不同的系统上的幻数项放的顺序可能不同.如果老的file命令使用幻数文件,请将旧的幻数文件改名保存,(如改为/usr/share/magic.orig)以便日后做比较用.