首页 理论教育ARM嵌入式系统应用中的文件类型

ARM嵌入式系统应用中的文件类型

【摘要】:Linux统按照文件中数据的特点对文件划分不同的类别,称做文件类型。Linux系统提供了一个file命令用来查看文件的类型,执行file<文件名>即可得到指定文件的类型。目录的第一项是目录本身,以“.”作为目录本身的名称。

Linux统按照文件中数据的特点对文件划分不同的类别,称做文件类型。文件划分类型后,系统处理文件可以分类处理。应用程序按照系统划分的文件类型处理文件,可以提高工作效率。Linux内核把文件类型归类如下。

1.普通文件

普通文件包含各种长度字符串或者是二进制数据,特点是内核对这些数据没有结构化,也就是说内核无法直接处理这些数据。内核对普通文件的处理方式是把普通文件当做有序的字节序列,交给应用程序,由应用程序自己解释和处理。

2.文本文件

文本文件由ASCII字符组成如脚本、编程语言源代码文件等。

3.二进制文件

二进制文件由机器指令和数据组成,如编译后的可执行程序。

Linux系统提供了一个file命令用来查看文件的类型,执行file<文件名>即可得到指定文件的类型。如在shell执行file/bin/bash会得到结果如下:

/bin/bash:ELF 32-bit LSB executable,Intel80386,version 1(SYSV),dynamically linked(uses shared libs),for GNU/Linux 2.6.24,BuildID[sha1]=0xf199a4a89ac968c2e0e99f2410600b9d7e 995187,stripped

表示/bin/bash程序是一个32比特ELF格式的可执行程序,适合80386体系结构的机器,使用动态库连接。(www.chuimin.cn)

4.目录

目录是一种特殊的文件。与普通文件不同的是,内核对目录的数据结构化,它是由“I节点号/文件名”构成的列表。I节点是存放文件状态信息的结构,I节点号是I节点表的下标,通过I节点号可以找到I节点。文件名是标识文件的字符串,同一个目录里面不能有相同的文件名。

目录的第一项是目录本身,以“.”作为目录本身的名称。第二个目录项是当前目录的父目录,用“..”表示。

把一个文件添加到目录的时候,该目录的大小会增长,用于容纳新文件名。当删除文件时,目录的大小并不减少,内核仅对删除的目录项做标记,便于下次新增目录项使用。

5.设备文件

Linux系统把设备作为一种特殊的文件处理。用户可以像使用普通文件一样使用设备,通过设备文件实现了设备无关性。与普通文件不同的是,设备文件除了I节点信息外,不包含任何数据。有以下两类设备文件。

(1)字符设备:最常用的设备,允许I/O传送任意大小的数据,如打印机、串口等都属于字符设备。

(2)块设备:块设备有核心缓冲机制,缓冲区的数据按照固定大小的块传输,如硬盘、RAM盘等都是块设备。