返回顶部
首页 > 资讯 > 操作系统 >Linux命令学习手册-file
  • 494
分享到

Linux命令学习手册-file

2023-06-05 17:06:46 494人浏览 八月长安
摘要

file [-beLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]功能辨识文件类型。举例检查文件类型$file file.c file /dev/hda输入之后,输出如下:file.

file [-beLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]

功能

辨识文件类型。

举例

检查文件类型

$file file.c file /dev/hda

输入之后,输出如下:

file.c:   C program textfile:     ELF 32-bit LSB executable, Intel 80386, version 1,dynamically linked, not stripped/dev/hda: block special

检查文件类型,不输出文件名

$file -b test/

输入之后,输出如下:

directory

检查文件类型,文件名和结果用 “,” 隔开

$file -F, example/

输入之后,输出如下:

example, directory

这里可以指定其它的分割字符。

检查块文件内部,获得文件系统信息

$file -s /dev/hda{,1,2,3,4,5,6,7,8,9,10}

输入之后,输出如下:

/dev/hda:   x86 boot sector/dev/hda1:  linux/i386 ext2 filesystem/dev/hda2:  x86 boot sector/dev/hda3:  x86 boot sector, extended partition table/dev/hda4:  Linux/i386 ext2 filesystem/dev/hda5:  Linux/i386 swap file/dev/hda6:  Linux/i386 swap file/dev/hda7:  Linux/i386 swap file/dev/hda8:  Linux/i386 swap file/dev/hda9:  empty/dev/hda10: empty

这里,如果没有权限,执行不了。

描述

本手册页说明了 3.27 版本 file 命令的使用 . File 命令试图检查每个参数以判定文件的类型. 检查共有三组,按如下顺序进行:文件系统检查,幻数检查,以及语言检查.

文件系统检查成功则输出文件类型. 输出的类型一般会包含以下的词中的一个: text (文件中仅有 ASCII 字符,可以用 ASCII 终端读此文件,以保证内容的可靠性), executable (文件中保存的是程序编译后的结果,一些UNIX 内核或其它内核能理解这类文件), 或者 data 表示所有其它类型文件( data 一般为二进制文件或者不可打印的). 有的常用的文件格式(如 core 文件、 tar 包),虽然也包含二进制数据,却不属于这一类。 可以修改如果要修改 /usr/share/magic 或者程序本身,以便针对这些关键字进行处理。当文件为 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 用于设置默认的幻数文件.

参看

magic(4) - 幻数文件的格式.

strings(1), od(1), hexdump(1) - 检查非textfile的工具.

标准的一致性

本程序(一般Linux上的?)比 System VFILE 命令强大, 几乎能分辨出所有的模糊语言. 与 System VFILE=命令大部分兼容.本版本能识别更多的 =magic, 但是,也将因此在有些情况下会产生不同输出(尽管更加精确).

本版本与System V的显著区别就是本版本对空格是作为分隔符来处理的, 所以不能在格式字符串中包含空格. 例如,现有幻数文件中的

>10    string  language impress        (imPRESS data)

要改为

>10    string  language\ impress       (imPRESS data)

另外, 格式字符串中的反斜线符号也要避免.例如,现有幻数文件中的

0      string          \begindata      Andrew Toolkit document

要改为

0      string          \\begindata     Andrew Toolkit document

SunOS releases 3.2及以后的版本包括从System V 发展来的 file(1) 命令,但有所扩展.本版本与Sun的file命令差别不大.它包括对 `&’ 操作符的扩展,例如,

>16    long&0x7fffffff >0              not stripped

MAGIC DIRECTORY

幻数文件项主要是从 USENET 收集来的,许多人都为此作出了贡献. Christos Zoulas (下边将提到的)将收集附加项信息及修正幻数文件项. 幻数文件项的合并表将会定时发布.

幻数文件项的顺序非常重要.不同的系统上的幻数项放的顺序可能不同. 如果老的 file 命令使用幻数文件,请将旧的幻数文件改名保存, (如改为 /usr/share/magic.orig) 以便日后做比较用.

其它参考资料

Http://fanqiang.chinaunix.net/a1/b1/20020108/08100041.html

--结束END--

本文标题: Linux命令学习手册-file

本文链接: https://lsjlt.com/news/243717.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Linux命令学习手册-file
    file [-beLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]功能辨识文件类型。举例检查文件类型$file file.c file /dev/hda输入之后,输出如下:file....
    99+
    2023-06-05
  • Linux命令学习手册-df
    df -[选项] [文件...]功能检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。 df 命令可显示所有文件系统对i节点和磁盘块的使用情况。描述该命令各个选项的含义如下: -a 显示所...
    99+
    2023-06-05
  • Linux命令学习手册-awk
    awk '条件类型1{动作1} 条件类型2{动作2} ...' filename功能相较于 sed 常常作用于一整个行的处理, awk 则比较倾向于一行当中分成数个『字段』来处理。描述awk 的处理流程读入第一行,并将第一行的资料填入 $0...
    99+
    2023-06-05
  • 学习手册--Linux基础篇
    目录1. linux系统介绍1.1 linux的概述1.2 linux的优势1.3 linux的分类1.4 常见的发行版linux系统2. Linux的安装3. Linux的基础篇3.1 目录结构3.1.1 那具体有哪些...
    99+
    2022-06-04
    Linux学习 Linux基础
  • 学习Linux命令之history
    这篇文章将为大家详细讲解有关学习Linux命令之history,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言你们有没有在使用linux开发时执行了很长的一条命令,然后过了一会要想在执行这条命令就需要重...
    99+
    2023-06-06
  • Linux高级篇学习手册(二)
    目录1. linux的crontab定时任务1.1 配置定时任务2. Linux的服务管理6.1 服务管理2.2 服务自启动2.3 演示效果总结1. Linux的crontab定时任务 任务调度:是...
    99+
    2022-06-04
    Linux学习 Linux基础
  • Linux高级篇学习手册(一)
    目录1. linux的用户管理 1.1 添加用户1.2 删除用户1.3 查询用户信息1.4 切换用户 1.5 对组操作2. Linux的文件权限2.1 查看资源的权限2.2 添加权限语法2.3 删除权...
    99+
    2022-06-04
    Linux学习 Linux基础
  • 总结Linux 常用命令手册
    非常实用的 Linux 命令手册,查看超级方便 NO 分类 ...
    99+
    2022-06-03
    Linux 命令大全
  • 【Linux学习】Linux必备命令之cp命令详解
    cp命令是Linux中的一个常用命令,用于将文件或目录复制到指定位置。下面是关于cp命令的一些详细解释和用法:1. 命令格式:cp ...
    99+
    2023-09-09
    Linux
  • python学习手册.fist
    # 1.注释    # 行注释  #         # print('****')     # 多行注释三个双引号或者单引号         '''print('****')            print('****')       ...
    99+
    2023-01-31
    手册 python fist
  • 学习linux常用命令(推荐)
    一、文件系统的管理 tips:输入命令的时候要常用tab键来补全 ls 查看目录信息 ( ls / ) ls -l 等价于 ll pwd 查看当前所处的路径 cd 切换目录 (cd /) ,如果不...
    99+
    2022-06-04
    常用命令 linux
  • Linux学习之mkdir命令详解
    目录前言1. 文件概念基础知识2. mkdir命令前言 最近几天越来越对linux很感兴趣了, 想再见塔克斯的心情也是越来越浓烈, 自从它给我留了110110110之后,就没了联系。 到现在我也是一头雾水, 我又找不到它...
    99+
    2022-06-04
    Linux中mkdir命令详解 mkdir创建目录命令
  • linux命令学习之10个网络命令和监控命令
    网络和监控命令类似于这些: hostname, ping, ifconfig, iwconfig, netstat, nslookup, traceroute, finger, telnet, ethtoo...
    99+
    2022-06-04
    命令 网络 linux
  • CTFAWD入门学习手册
    目录引文站点部署dump源码数据库备份修改密码关闭不必要端口部署WAF攻击(ATTACK)弱口令自带后门nmapWEB攻击写入木马bash反弹shell不死马提交脚本防御(DEFEN...
    99+
    2022-11-13
    CTF AWD入门手册 CTF AWD
  • sqlplus 命令学习
    sqlplus 命令学习$ sqlplus  / as sysdbaSQL> help index 可以输入sqlplus 命令Enter Help [topic] for help.&nb...
    99+
    2024-04-02
  • awk命令学习
    awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息awk处理过程: 依次对每一行进行处理,然后输出awk命令形式:awk [-F|...
    99+
    2024-04-02
  • lsof命令学习
    学习下lsof命令 lsof全名list opened files,也就是列举系统中已经被打开的文件。我们都知道,linux环境中,任何事物都是文件,设备是文件,目录是文件,甚至sockets也是...
    99+
    2024-04-02
  • linux学习-常规命令使用1
    系统用户PS1 定义提示符的格式 例如:PS1=XXX 当前用户名就会被临时修改echo $PS1[\u@\h \W]\$   // u表示用户,h 主机名 W 当前的文件夹# ...
    99+
    2024-04-02
  • 如何学习和理解Linux命令
    这篇文章主要为大家展示了“如何学习和理解Linux命令”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何学习和理解Linux命令”这篇文章吧。1. ls命令首先ls命令,指列出目录内容(List...
    99+
    2023-06-16
  • Linux file命令的使用
    1.命令简介 file命令用来识别文件类型,对文件的检查分为文件系统、魔法幻数检查和语言检查三个过程,也可用来辨别一些文件的编码格式。它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文...
    99+
    2022-06-03
    Linux file Linux 命令 Linux file命令
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作