文件在Linux环境中是相当重要的,因为它们提供了简单并一致的接口来处理系统服务与设备。在Linux中,一切都是文件,程序可以像处理普通文件一样来使用磁盘文件、串口、打印机以及其他设备。而目录也是一类特殊的文件,目录文件的内容是该目录的目录项。目录项是该目录下的文件和目录的相关信息。
Linux是以文件为基础而设计的。Linux的文件子系统主要用于管理文件存储空间的分配、文件访问权限的维护和对文件的各种操作。用户可以使用命令对文件进行操作,但在功能上受到一定的限制。可以通过系统调用或C语言的库函数对文件进行操作。
文件结构是文件存放在磁盘等存储设备上的组织方法,主要体现在对文件和目录的组织上。目录提供了管理文件的一个方便而有效的途径。Linux使用标准的目录结构,在安装时,安装程序就已经为用户创建了文件系统和完整而固定的目录组成形式,并指定了每个目录的作用和其中的文件类型。
文件主要包含两方面的内容:一是文件本身所包含的数据,二是文件的属性,也称为元数据,包括文件的访问权限、所有者、文件大小和创建日期等。
目录也是一种文件,称为目录文件。目录文件的内容是该目录的目录项。目录项是该目录下的文件和目录的相关信息。当创建一个新目录时,系统将自动创建两个目录项:.和..,前者代表当前目录,后者代表当前目录的父目录。在Shell下输入1s-a可以将其显示在终端上,如图7-1所示。
图7-1 在Shell下输入Is-a命令显示文件结果
Linux采用的是树形结构。最上层是根目录,其他的所有目录都是从根目录出发而生成的。微软的DOS和Windows也采用树形结构,但是在DOS和Windows中这样的树形结构的根是磁盘分区的盘符,有几个分区就有几个树形结构,它们之间的关系是并列的。但是,在Linux中,无论操作系统管理几个磁盘分区,这样的目录树只有一个。从结构上讲,各个磁盘分区上的树形目录不一定是并列的。一个典型的Linux系统树形目录结构如图7-2所示,其中每个目录中都包含有特定内容。(www.xing528.com)
在Shell下输入cd可以切换到根目录,再输入Ls可以查看到根目录下的目录情况。在Linux系统中可以使用通配符“*”、“?”来同时引用多个文件。通配符“*”代表文件名中任意的字符或字符串,如tim*表示所有以tim开头的文件。通配符“?”表示任意一个字符,如tim?表示所有以tim开头的长度为4个字符的文件。表7-1列出的是Linux文件系统中各主要目录的存放内容。
图7-2 Linux系统树形目录结构
表7-1 Linux文件系统中各主要目录的存放内容
(续)
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。