首页 理论教育ARM嵌入式系统:文件结构

ARM嵌入式系统:文件结构

【摘要】:文件是Linux系统处理数据的基本单位,实际上,Linux系统所有的数据以及其他实体都是按照文件组织的。shell程序使用文件名通配符可以查询符合指定条件的文件名。

文件是Linux系统处理数据的基本单位,实际上,Linux系统所有的数据以及其他实体都是按照文件组织的。

1.文件的构成

无论何种类型的文件,程序、文档、数据库还是目录,都是由I节点(也叫索引节点)和数据构成的。在文件系统中,I节点包含文件有关的信息,包括文件的权限、所有者、大小、存放位置、建立日期等。数据是文件真正的内容,可以为空,如空文件;也可以很大(大小由文件系统规定)。

2.文件的命名方法

文件名保存在目录中,是一个ASC II码的字符串。Linux系统中文件名最大支持255个字符。文件的名称可以使用几乎所有ASCII字符,但是有如下限制。首先,斜线(/)、反斜线(\)以及空字符(ASCII码是0)都不能作为文件名;其次,圆点(.)开头的文件名被认为是隐含文件,使用ls命令查看的时候默认不显示;第三,为了避免与shell程序冲突,应避免使用(;)、(|)、(<)、(>)、(’)、(”)、(’)、($)、(!)、(%)、(&)、(∗)、(?)、(\)、“(”、“)”、([]、())作为文件名,同时应避免在文件名中出现空格。

3.文件名通配符(www.chuimin.cn)

shell程序为了一次能处理多个文件,提供了几个特别的字符称做文件名通配符。shell程序使用文件名通配符可以查询符合指定条件的文件名。常见的通配符如下:

(1)星号(∗)表示0个或多个字符。如“ab∗”可以表示abc、abed、abcde等。星号通配符不匹配文件名是圆点(·)开头的隐含文件。

(2)问号(?)表示匹配任意一个字符。如“test?”可以表示testl、test2、test3等,但是不能和test l 2匹配。可以使用多个?表示多个字符匹配。

(3)方括号([])与问号的功能类似,但是表示与方括号内的任意一个字符匹配。如“test[12]”表示与testl和test2匹配,不能与test3以及testl2匹配。可以在方括号内写明匹配的范围如“file_[a-z]”表示可以与file_a、file_b、一直到file_z匹配。还有一种取反的用法,方括号中在字符前加!号表示不想与某个字符匹配如“[!a]”表示不与字符a匹配。