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.选项说明

-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 [separator]:使用指定分隔符替换输出文件名后的默认的":"分隔符

-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:Print information about the strength of each magic pattern

-L, --dereference:查看对应软链接对应文件的文件类型

-m, --magic-file [magicfiles]:指定magic file。magic file指的是那些具有特殊内容的文件,比如C文件,它会有#include字样;tar文件的前几个字节会有特殊的规则。而检验magic file规则就是根据这些特殊的格式去判断一个文件的类型。而这些规则是保存在$HOME/.magic.mgc

-N, --no-pad:Don't pad filenames so that they align in the output

-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

以上就是Linux file命令的使用的详细内容,更多关于Linux file命令的资料请关注脚本之家其它相关文章!

linux用file命令,Linux file命令的使用相关推荐

  1. Linux echo print命令,linux常用命令-echo/printf/file

    echo:显示文本 NAME echo - display a line of text SYNOPSIS echo [SHORT-OPTION]... [STRING]... echo LONG-O ...

  2. linux命令之file命令

    一.命令简介   file命令用于辨识文件类型.该命令用来识别文件类型,也可用来辨别一些文件的编码格式.它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的.所有 ...

  3. Linux命令行与命令

    Linux命令行与命令 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Linux的命令是很重要的工具,也往往是初学者最大的瓶颈. ...

  4. linux 命令删除命令,Linux 命令之删除命令

    在Linux下删除文件用rm命令,具体用法如下: rm [选项] 文件 选项说明: -f -force 忽略不存在的文件,强制删除,无任何提示 -i --interactive 进行交互式地删除 -r ...

  5. 【Linux学习笔记】 -- 基本Shell命令

    常见的目录名均基于文件系统层级标准(filesystem hierarchy standard,FHS) Linux的四个部分: 1 Linux内核:控制所有硬软件,必要时分配硬件根据需要执行软件 系 ...

  6. linux 读取命令行输入,Linux read命令的使用

    1.命令简介 read命令是Shell内建命令,用于从标准输入或-u选项指定的文件描述符中读取单行,并将读取的单行根据IFS变量分割成多个字段,并将分割后的字段分别赋值给指定的变量列表var_name ...

  7. Linux 常用的压缩与解压缩命令详解

    Linux 常用的压缩与解压缩命令有:tar.gzip.gunzip.bzip2.bunzip2.compress .uncompress. zip. unzip.rar.unrar 等. tar 最 ...

  8. Linux学习(3)-常用命令

    跟文件系统相关的命令 Linux的潜规则:一般而言,命令的命名方式是其单词的缩写 1.pwd = printing working directory:显示工作目录 pwd 2.cd = changi ...

  9. Linux学习(2)-命令基础背景+命令使用帮助获取

    程序的组成 程序的组成部分:二进制程序文件.库文件.配置文件.帮助文件(前两个为二进制格式,后两个为文本格式) 二进制程序文件和库文件都是可执行文件,库文件不能独立执行,只能被调用时执行 配置文件和帮 ...

最新文章

  1. 有多少可爱IT精英,他们的爱情屡屡“挨踢”
  2. 线段树求矩形面积并 扫描线+离散化
  3. c 多文件全局变量_C语言开发单片机为啥都是全局变量形式?
  4. 关于Chrome支持http header最大长度限制的讨论
  5. Linux管理磁盘配额
  6. 第四十一期:一道经典的MySQL面试题,答案出现三次反转
  7. 伪随机算法c语言,伪随机算法实现各语言实现示例。
  8. angular访问后台服务及监控会话超时的封装实现
  9. Mybaits 3.2.6设计的一个缺陷,欢迎拍砖交流
  10. 纯CSS实现鼠标滑过缩略图放大显示代码
  11. Retinex实验效果图和图片格式转化的失真问题
  12. Inf and NaN cannot be JSON encoded
  13. 我想自己写一个扫雷,用Python
  14. 根据银行卡号查询银行名接口目前免费阿里接口
  15. 一个非常好的学习方法总结
  16. 简悦+Logseq 搭建本地化个人知识库
  17. 基于 STM32对音频数据的 Flash 读取与 DAC 播放
  18. 如何成为一名合格的数据产品经理?
  19. Excel-VBA常用对象(Application、Workbook、Worksheet、Range)
  20. js中计算两个时间差

热门文章

  1. 目前微服务/REST的最佳技术栈
  2. React Native初始化项目0.47.1报错
  3. LeetCode Keyboard Row
  4. 2015年蓝桥杯C/C++ B组题目题解
  5. unity-tweak-tool不能打开的解决办法
  6. .NET CF WM上创建快捷方式
  7. 深入剖析ASP.NET的编译原理之一:动态编译(Dynamical Compilation)
  8. 马斯克:人脑“带宽”有限,需要用人工智能加持提高连接速度
  9. 2019年安徽高考最高分出炉:文科681分 理科710分
  10. 利用Matlab设计滤波器(FDAT)