iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >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://www.lsjlt.com/news/243717.html(转载时请注明来源链接)

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 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命令之history
    这篇文章将为大家详细讲解有关学习Linux命令之history,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言你们有没有在使用linux开发时执行了很长的一条命令,然后过了一会要想在执行这条命令就需要重...
    99+
    2023-06-06
  • 【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
  • lsof命令学习
    学习下lsof命令 lsof全名list opened files,也就是列举系统中已经被打开的文件。我们都知道,linux环境中,任何事物都是文件,设备是文件,目录是文件,甚至sockets也是...
    99+
    2024-04-02
  • CTFAWD入门学习手册
    目录引文站点部署dump源码数据库备份修改密码关闭不必要端口部署WAF攻击(ATTACK)弱口令自带后门nmapWEB攻击写入木马bash反弹shell不死马提交脚本防御(DEFEN...
    99+
    2022-11-13
    CTF AWD入门手册 CTF AWD
  • 如何学习和理解Linux命令
    这篇文章主要为大家展示了“如何学习和理解Linux命令”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何学习和理解Linux命令”这篇文章吧。1. ls命令首先ls命令,指列出目录内容(List...
    99+
    2023-06-16
  • Shell学习【test命令】
    Shell test 命令        test命令主要用于检查条件是否成立,可用于数字判断、字符判断、文件判断;也可以用自己常用的检查命令。test数字演示...
    99+
    2023-06-05
  • 学习Linux需要记住哪些命令
    这篇文章将为大家详细讲解有关学习Linux需要记住哪些命令,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。tldr(命令手册)作为一个开发人员,经常要用到终端命令,最让人头疼的是记不住繁琐的参数。用谷哥度娘...
    99+
    2023-06-05
  • Linux命令学习之用户切换su,sudo命令详解
    目录用户切换相关命令1. su命令2. sudo命令赋予用户sudo操作的权限用公式讲解/etc/sudoers的内容公式还要扩充通配符和取消命令开始编辑其他小知识用户切换相关命令 为什么要进行用户切换? 在操作过程中需...
    99+
    2023-02-08
    Linux用户切换su sudo Linuxsu sudo切换用户
  • Linux操作系统学习,Linux基础命令大全
    目录 第一章、Linux简介和安装1.1)Linux简介和分类1.2)安装VMware虚拟机,在虚拟机中安装CentOS 7 第二章、虚拟机中Linux的IP地址配置详解2.1)什么是IP地址,如何查看2.2)虚拟机NAT模式中...
    99+
    2023-08-17
    linux 学习 运维
  • redis入门学习手册分享
    这篇文章主要介绍redis入门学习手册分享,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、前言在过去的几年时间里,一提到高并发、海量数据存储解决方案,我们想到的都是NoSQL数据库...
    99+
    2024-04-02
  • Python学习手册之类和继承
    在上一篇文章中,我们介绍了 Python 的函数式编程,现在我们介绍 Python 的类和继承。 查看上一篇文章请点击:https://www.cnblogs.com/dustman/p/10010690.html 类先前,我们研究过两种...
    99+
    2023-01-30
    手册 Python
  • Python学习手册之Python异常和
    在上一篇文章中,我们介绍了 Python 的函数和模块,现在我们介绍 Python 中的异常和文件。 查看上一篇文章请点击:https://www.cnblogs.com/dustman/p/9963920.html 异常和文件 异常 异...
    99+
    2023-01-30
    异常 手册 Python
  • Python学习手册之数据类型
     在上一篇文章中,我们介绍了 Python 的异常和文件,现在我们介绍 Python 中的数据类型。 查看上一篇文章请点击:https://www.cnblogs.com/dustman/p/9979931.html 数据类型None 类...
    99+
    2023-01-30
    数据类型 手册 Python
  • Linux常用命令file怎么用
    这篇文章给大家分享的是有关Linux常用命令file怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Linux常用命令ile命令用于辨识文件类型,通过file指令,我们得以辨识该文件的类型。语法 f...
    99+
    2023-06-28
  • python学习-SVN常用命令
    SVN命令参考:http://riaoo.com/subpages/svn_cmd_reference.html 作用: 将版本库的修改合并到工作副本中。 使用语法: update [PATH...],   如果没有指定版本,则将...
    99+
    2023-01-31
    常用命令 python SVN
  • android中的adb命令学习
    adb是什么 adb的全称为Android Debug Bridge,就是起到调试桥的作用。它就是一个命令行窗口,用于通过电脑端与模拟器或者是设备之间的交互。 adb有什么用 借助a...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作