Linux 命令(47)—— file 命令
1.命令简介
file 命令用来识别文件类型,对文件的检查分为文件系统、魔数检查和语言检查三个过程,也可用来辨别一些文件的编码格式。它是通过查看文件的头部信息来获取文件类型,而不是像 Windows 通过扩展名来辨识文件类型。
2.命令格式
file [-bchiklLNnprsvz0] [--apple] [--mime-encoding] [--mime-type] [-e testname] [-F separator] [-f namefile] [-m magicfiles] file ...
file -C [-m magicfiles]
file [--help]
3.选项说明
--apple输出旧 MacOS 版本使用的文件类型和创建者代码。代码由八个字母组成,第一个字母描述文件类型,第二个字母描述创建者。此选项仅适用于定义了 Apple 风格输出的文件格式
-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 SEP使用指定分隔符替换输出文件名后的默认的冒号分隔符 :
-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打印每个魔数模式的强度信息
-L, --dereference查看软链接对应文件的文件类型
-m, --magic-file MAGICFILES指定 magic file。magic file 指的是那些具有特殊内容的文件,比如 C 文件,它会有 #include 字样;tar 文件的前几个字节会有特殊的规则。而检验 magic file 规则就是根据这些特殊的格式去判断一个文件的类型。而这些规则保存在 $HOME/.magic.mgc
-N, --no-pad不要填充文件名以便它们在输出中对齐
-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)查看文件类型。
[root@TENCENT64 ~]# file Changelog
Changelog: ASCII text
(2)不输出文件名称,只显示文件格式以及编码。
[root@TENCENT64 ~]# file -b Changelog
ASCII text
(3)输出 mime 类型的字符串。
[root@TENCENT64 ~]# file -i Changelog
Changelog: text/plain; charset=us-ascii
(4)查看软链接对应文件的文件类型。
[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
(5)查看程序是 32 位还是 64 位。
file ./a.out
./a.out: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=7dd2556f5818bc85c64ab82131cf0b748567a976, not stripped
通过 ELF 64-bit LSB executable 可以看出程序是 64 位的。
参考文献
[1] file manual
[2] linux shell file与magic file文件
[3] Linux命令详解-file
Linux 命令(47)—— file 命令相关推荐
- linux用file查看文件类型,Linux怎么使用file命令识别文件类型
file是通过查看文件的头部内容,来获取文件的类型.使用file命令可以知道某个文件究竟是二进制(ELF格式)的可执行文件, 还是Shell Script文件,或者是其它的什么格式.那么Linux怎么 ...
- linux命令之file命令
一.命令简介 file命令用于辨识文件类型.该命令用来识别文件类型,也可用来辨别一些文件的编码格式.它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的.所有 ...
- linux中的file命令
file命令用于查看文件类型,今天了解到了,自己动手测了一下,写篇文章记录一下. [xxx@localhost staticLibrary]$ ls a.out libtest.a libtest.s ...
- linux 查看文件中数据类型,Linux下使用file命令确定文件中数据的类型-文件类型...
青年是学习智慧的时期,中年是付诸实践的时期.--卢梭 在Linux系统中查看一个文件之前,要先确定该文件中数据的类型,之后再使用适当的命令或方法打开该文件. 与windows系统不同,在Linux系统 ...
- Linux 命令之 file 命令-识别文件类型
文章目录 介绍 语法格式 常用选项 参考示例 (一)显示文件类型 (二)显示符号链接的文件类型 介绍 file 命令用来识别文件类型,也可用来辨别一些文件的编码格式.它是通过查看文件的头部信息来获取文 ...
- linux用file命令,Linux file命令的使用
1.命令简介 file命令用来识别文件类型,对文件的检查分为文件系统.魔法幻数检查和语言检查三个过程,也可用来辨别一些文件的编码格式.它是通过查看文件的头部信息来获取文件类型,而不是像Windows通 ...
- 利用Linux中file命令查看音频文件的采样率
有时,在处理音频文件时,需要知道该音频文件的采样率,那如何查看呢? 可以通过Linux中的file命令来查看音频文件的采样率.具体如下: $ file xxxx.wav 实例: $ file Data ...
- Linux面试问题---常用命令
Linux面试问题---常用命令 1.cd命令 用于切换当前目录,参数是要切换到的目录的路径. Cd /root/Documents #切换到/root/Documents目录 Cd ./path 切 ...
- 我使用过的Linux命令之file - 检测并显示文件类型
用途说明 file命令是用来检测并显示文件类型(determine file type). 常用参数 -b 不显示文件名称,只显示文件类型.在shell脚本中时有用. -i 显示MIME类别. ...
最新文章
- Oracle 高性能SQL引擎剖析----执行计划
- Java NIO学习系列七:Path、Files、AsynchronousFileChannel
- qa 芯片测试_芯片测试术语介绍CP、FT、WAT
- mysql自动从另外表取数_你在 Docker 中跑 MySQL?恭喜你,好下岗了!
- Angular里的按钮事件注册方法一例
- java调优方法,jvm监控工具
- Windows安装Redis(转!)
- 科大讯飞2020完整事件抽取系统(bert+数据集)
- 信息学奥赛一本通 1129:统计数字字符个数 | OpenJudge NOI 1.7 01
- 2020年国内电影总票房突破100亿元
- 【Spring】Spring的生态项目
- android+模拟器上gdb,使用gdb在Android Emulator中进行调试c程序
- (六)Redis集群搭建
- JVM飙高排查脚本-结构分析
- 图片超大 html,解决WebView加载html文本时,图片太大不能适配屏幕
- Redis操作工具类——RedisUtil
- 初探VBScript
- android相片拼板源码,实现仿微信拍照和选取相片(转自网络)
- Win7电脑上如何增加磁盘分区?
- ucos 和uclinux的区别及各自的特点
热门文章
- 安全界的硬核盛会要来了!2020北京网络安全大会倒计时100天
- ubuntu wifi
- 调查显示存储虚拟化技术尚需3到5年才能成熟
- ubuntu新建一个账户并将其加入sudo用户组
- Codeforces Round #250 (Div. 1) D. The Child and Sequence 线段树 区间取摸
- 常见的扫描类型有以下几种:Nmap的SYN、Connect、Null、FIN、Xmas、Maimon、ACK
- Tomcat 配置数据库连接池
- [Java] 蓝桥杯ADV-213 算法提高 3-2求存款
- [Java] 蓝桥杯 BASIC-8 基础练习 回文数
- 蓝桥杯 ADV-150算法提高 周期字串