file - 确定文件类型
总览
file [ -bcnsvzL ] [ -f 命名文件 ] [ -m 幻数文件 ] file ...
描述
本手册页说明了3.27版本 file 命令的使用. File 命令试图检查每个参数以判定文件的类型. 检查共有三组,按如下顺序进行:文件系统检查,幻数检查,以及语言检查. 文件系统 检查成功则输出文件类型.
输出的类型一般会包含以下的词中的一个: text (文件中仅有 ASCII 字符,可以用 ASCII 终端读此文件,以保证内容的可靠性), executable (文件中保存的是程序编译后的结果,一些UNIX 内核或其它内核能理解这类文件), 或者 data 表示所有其它类型文件(data 一般为二进制文件或者不可打印的). 但是有的常用的文件格式(如core文件、tar包),虽然也包含二进制数据,却不属于这一类如果要修改 /usr/share/magic 或者程序本身, preserve these keywords . 当文件为``text'' 类型时,认为此文件为可读文件. 不要象在Berkeley环境中那样做 - 要把``shell commands text''改为``shell script''.
文件系统检查是建立在对 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) 存档文件)并确定文件是`ascii text'类型还是`data'类型.
选项
- -b
- 不输出文件名 (简要模式).
- -c
- 检查时打印输出幻数文件的解析结果.常与 -m 一起使用,用来在安装幻数文件之前调试它.
- -f 命名文件
- 从在参数表前的 命名文件 中读出将要检查的文件名(每行一个文件).要有 命名文件 ,或者至少有一个文件名参数; 如果要检查标准输入, 使用``-''作为文件参数.
- -m list
- 指定包含幻数的文件列表.可以是单个文件,也可以是用冒号分开的多个文件.
- -n
- 每检查完一个文件就强制刷新标准输出. 仅在检查一组文件时才有效. 一般在将文件类型输出到管道时才采用此选项.
- -v
- 打印程序版本并退出.
- -z
- 试图查看压缩文件内部信息.
- -L
- (在支持符号链接的系统上)选项显示符号链接文件的原文件, 就像 ls(1) 命令的like-named 选项.
- -s
- 通常, file 只是试图去检查在文件列表中那些 stat(2) 报告为正常文件的文件的类型.由于读特殊文件将可能导致不可知后果,所以这样可以防止发生问题.使用 -s 选项时 file 命令也将去读文件列表中的块特殊文件和字符特殊文件. 一般用于从原始磁盘分区中获得文件系统类型,此文件为块特殊文件. 这个选项也导致 file 命令忽略 stat(2) 报告的文件大小,因为在有些系统中原始磁盘分区的大小报告为0.
文件
/usr/share/magic - 默认的幻数列表
ENVIRONMENT
环境变量 MAGIC 用于设置默认的幻数文件.
file - 确定文件类型的更多相关文章
- html input file 设置文件类型
解决方案: 使用 input 的 accept 属性指定接受文件类型 -----------更新--------------- 之前的代码有个缺点,打开文件窗口时会自动筛选文件夹下所有符合设定类型的文 ...
- Linux 命令 - file: 确定文件类型
命令格式 file [-bchikLNnprsvz0] [--apple] [--mime-encoding] [--mime-type] [-e testname] [-F separator] [ ...
- input type="file"指定文件类型为excel
指定上传类型为excel:加上accept="application/vnd.ms-excel"即可,只兼容chrome跟ff,不兼容ie <input type=" ...
- input file类型,文件类型的限制
直接限制input type='file'的文件类型限制,通过accept属性进行设定,多个类型用逗号分隔开,因为accept是html5的新特性,所以火狐和IE的支持就显得单薄了, 如:
- JAVA对文件类型的校验
通常,在WEB系统中,上传文件时都需要做文件的类型校验,大致有如下几种方法: 1. 通过后缀名,如exe,jpg,bmp,rar,zip等等. 2. 通过读取文件,获取文件的Content-type来 ...
- UNIX环境编程学习笔记(6)——文件I/O之判断文件类型
lienhua342014-09-01 1 文件类型 我们平时最常接触的文件类型有普通文件(regular file)和目录(di-rectory file),但是 UNIX 系统提供了多种文件类型: ...
- Linux文件类型(学习笔记六)
一.Linux下的文件类型 普通文件:在由 ls –al 所显示出来的属性方面,第一个属性为 [ - ] 目录文件:在由 ls –al 所显示出来的属性方面,第一个属性为 [ d ] 设备文件:一般都 ...
- 8 Linux 文件类型
Linux 系统中的文件是没有扩展名的. 1.通过 ls -l 文件名,看第一个字符判断文件类型: - 普通文件(文本文件.二进制文件.压缩文件.电影.图片等) d 目录文件 b 设备文件(块设 ...
- input file控件限制上传文件类型
网页上添加一个input file HTML控件: <input id="File1" type="file" /> 默认是这样的,所有文件类型都会 ...
随机推荐
- 洛谷P1772 [ZJOI2006]物流运输
P1772 [ZJOI2006]物流运输 题目描述 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条固定的运输路线 ...
- 洛谷P1282 多米诺骨牌
P1282 多米诺骨牌 题目描述 多米诺骨牌有上下2个方块组成,每个方块中有1~6个点.现有排成行的 上方块中点数之和记为S1,下方块中点数之和记为S2,它们的差为|S1-S2|.例如在图8-1中,S ...
- 「模拟赛20180306」回忆树 memory LCA+KMP+AC自动机+树状数组
题目描述 回忆树是一棵树,树边上有小写字母. 一次回忆是这样的:你想起过往,触及心底--唔,不对,我们要说题目. 这题中我们认为回忆是这样的:给定 \(2\) 个点 \(u,v\) (\(u\) 可能 ...
- C 语言实例 - 判断回文数
C 语言实例 - 判断回文数 判断一个数是否为回文数. 设n是一任意自然数.若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数.例如,若n=,则称n为一回文数:但若n=,则n不是回文数 ...
- iOS无线真机调试
打开xcode,选择Window > Devices and Simulators 用数据线连接设备 选择 Connect via network
- POJ1845 Sumdiv 数学?逆元?
当初写过一篇分治的 题意:求A^B的所有因子之和,并对其取模 9901再输出 对于数A=p1^c1+p2^c2+...+pn*cn,它的所有约数之和为(1+p1+p1^2+p1^3+...+p1^(c ...
- 2017 ACM/ICPC Asia Regional Shenyang Online number number number
题意:求n个斐波那契数列组合都无法得到的最小数字 解法: 1 我们先暴力的求出前面几个数字 2 然后再暴力的求递推 3 接着矩阵快速幂(没写错吧?) /*#include<bits/stdc++ ...
- python 多继承(新式类) 四
转载自:http://blog.sina.com.cn/s/blog_45ac0d0a01018488.html mro即method resolution order,主要用于在多继承时判断调的属性 ...
- Vue.extend动态注册子组件
写本篇文章之前其实也关注过vue中的一个关于加载动态组件is的API,最开始研究它只是用来实现一个tab切换的功能,使用起来也蛮不错的. is 预期:string | Object (组件的选项对象) ...
- nginx图片缓存服务器配置实战
1.图片目录设置: 假定服务器主目录为nginx的默认目录:/usr/local/nginx-0.8.32/html/ 图片存放目录为:/usr/local/nginx-0.8.32/html/SD ...