Linux文件和目录管理【理论】

Linux文件和目录管理

每种操作系统都有自己独特的文件系统,文件系统包括了文件的组织结构、处理文件的数,据结构和操作文件的方法等。Linux自行设计开发的文件系统称为EXT2,Linux还支持多种其他操作系统的文件系统,例如EXT3、XFS,NTFS、NFS和SYSV等。Linux利用虚拟文件系统VFS屏蔽了各种文件系统之间的差别,为处理各种不同文件系统提供了统一的接口。

1.Linux文件组织与结构

1)Linux文件组织

文件系统组织是指文件存在的物理空间,Linux系统中的每个分区都是一个文件系统,都有自己的目录层次结构。Linux将这些分属不同分区的、单独的文件系统按一定的方式形成个系统的总目录层次结构。
Linux文件系统使用索引节点来记录文件信息,作用与Windows的文件分配表类似。索引节点是一个数据结构,它包含了一个文件的文件名、位置、大小、建立或修改时间、访问权限、所属关系等文件控制信息。一个文件系统维护了一个索引节点的数组,每个文件或目录都与索引节点数组中的唯一一个元素对应。系统为每个索引节点分配了一个号码,也就是该节点在数组中的索引号,称为索引节点号。

Linux文件系统将文件索引节点号和文件名同时保存在目录中。所以,目录只是将文件的名称和它的索引节点号结合在一起的一张表,目录中每一对文件名称和索引节点号称为一个连接。
对于每个文件都有一个唯一的索引节点号与之对应,而对于一个索引节点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问它。Linux操作系统可以用In命令对一个已经存在的文件再建立一个新的连接,而不复制文件的内容。连接有软连接和硬连接之分,软连接又叫符号连接。

2)Linux文件结构

Linux使用标准的目录结构,在安装的时候,安装程序就已经为用户创建了文件系统和完整而固定的目录组成形式,并指定了每个目录的作用和其中的文件类型。Linux的文件系统是操作系统的重要组成部分之一,和其他操作系统一样用于管理和存储文件。
Linux文件系统采用了多级目录的树型层次结构管理文件。树型结构的最上层是根目录,用“/”表示,其他的所有目录都是从根目录出发生成的。Linux将所有的软件、硬件都作为文件来管理,每个文件被保存在目录中。Linux在安装时系统会创建一些默认的目录,而每个目录都有其特殊的功能,用户不能随意修改和删除。微软的DOS和Windows也是采用树型结构,但是在DOS和Windows中这样的树型结构的根是磁盘分区的盘符,有几个分区就有几个树型结构,它们之间的关系是并列的。而在Linux中,无论操作系统管理几个磁盘分区,这样的目录树只有一个。

3)Linux文件挂载

Linux系统中的每个分区都是一个文件系统,都有自己的目录层次结构。Linux会将这些分属不同分区的、单独的文件系统按一定的方式形成一个系统的、总的目录层次结构。这里所说的“按一定方式”就是指的挂载。所谓挂载,就是将一个文件系统的顶层目录挂到另一个文件系统的子目录上,使它们成为一个整体,上一层文件系统的子目录就称为挂载点。这里要注意以下两个问题。

(1)挂载点必须是一个目录,而不能是一个文件。

(2)一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。

2.Linux文件类型与访问权限

1)文件名与文件类型

Linux文件名的规则与Windows 9x中的基本上是相同的。它同样是由字母、数字、下画线、圆点组成,最大的长度是255个字符。
Linux文件系统一般包括5种基本文件类型,即普通文件、目录文件、链接文件、设备文,件和管道文件。

(1)普通文件:

计算机用户和操作系统用于存放数据、程序等信息的文件,一般又分为文本文件和二进制文件,例如C语言源代码、Shell脚本、二进制的可执行文件等。

(2)目录文件:

目录文件是文件系统中一个目录所包含的目录项组成的文件,包括文件名、子目录名及其指针。用户进程可以读取目录文件,但不能对它们进行修改。

(3)链接文件:

链接文件又称符号链接文件,通过在不同的文件系统之间建立链接关系来实现对文件的访问,它提供了共享文件的一种方法。

(4)设备文件:

在Linux系统中,把每一种I/O设备都映射成为一个设备文件,可以像普通文件一样处理,这就使得文件与设备的操作尽可能统一。

(5)管道文件:

主要用于在进程间传递数据。Linux对管道的操作与文件操作相同,它把管道作为文件进行处理。管道文件又称先进先出(FIFO)文件。
从对文件内容处理的角度而言,无论是哪种类型的文件,Linux都把它们看作是无结构的流式文件,即把文件的内容看作是一系列有序的字符流。

2)文件和目录访问权限

在Linux这样的多用户操作系统中,为了保证文件信息的安全,Linux给每个文件都设定了一定的访问权限。Linux中的每一个文件都归某一个特定的用户所有,而且一个用户一般总是与某个用户组相关。Linux对文件的访问设定了三级权限:文件所有者、与文件所有者同组的用户及其他用户。对文件的访问主要是三种处理操作:读取、写入和执行。三级访问权限和三种处理操作组合就形成了9种情况,可以用它来确定哪个用户可以通过何种方式对文件和目录进行访问和操作。同时,用户可以为自己的文件赋予适当的权限,以保证他人不能修改和访问。当用ls-1命令显示文件或目录的详细信息时,每一个文件或目录的列表信息分为4个部分,其中最左边的一位是第一部分,标识Linux操作系统的文件类型,其余三部分是三组访问权限

重点:
image

在文件被创建时,文件所有者可以对该文件的权限进行设置。在默认情况下,系统将创建的普通文件的权限设置为-rW-r-r--,即文件所有者对该文件可读可写(rw),而同组用户和其他用户都只可读;同样,在默认配置中,将每一个用户所有者目录的权限都设置为drwx----,即只有文件所有者对该目录可读、可写和可查询(rwx),即用户不能读其他用户目录中的内容。

posted @ 2022-03-09 20:52  lvhanghmm  阅读(90)  评论(0编辑  收藏  举报