当前位置:文档之家› Linux文件系统

Linux文件系统


文件扩展名不总是被使用或被一致的使用。如果一个文件没有扩展名,或 者它与它的扩展名不符时,可以使用file命令。 例如,找到了一个叫做saturday的文件,它没有扩展名。使用file命令,就可 以判定这个文件的类型。 file saturday
2. 目录文件 目录中包含文件或其下级子目录,然而目录也是文件。在这 个文件里记录着其中的文件和子目录的名称与它所处的地址 。当对目录中的文件进行操作时,系统在目录文件里找出与 文件名对应的地址,然后从这个地址读取文件。 只有目录文件中记录着文件的名字,文件本身的记录中是没 有文件名的。对文件名进行的更改,实际是修改目录文件中 的一条文件记录。 当移动一个文件的时候,系统就从被移动文件的目录文件中 删除该文件的信息,并将该文件的信息(文件名和地址)增加到 目标目录文件中。 当对文件进行复制时,就需要对文件的内容进行备份,并将 复制的地址增加到目标目录中。
Linux文件系统结构 文件系统结构: 文件系统结构
Linux将文件存放到逐层继承排列的子目录中,这种结构的 形状很像是一棵树,所以称为“树状结构”(tree structure)。 这个树状结构是倒挂的,它的根被置于最顶部,从根向下 延伸的是枝,每个枝向上只有一个连接,但向下可以再有 更多个枝。从这个角度看,也可以说有个“父—子”结构 ,即每个子目录都是另一个子目录的下级子目录。一个子 目录可以有多个下级子目录,但它自身只能是一个父目录 的子目录,如图所示。
1. 普通文件 普通文件是用户接触最多的。最普通的文件可算是各种各样的文 本文件——用户的日记、shell脚本等,在Linux下可用很多种方法来 编辑它;还有用户每时每刻都在使用的二进制程序,它们也是普 通文件。 普通文件的种类很多。Linux将它分为ASCII文件、C语言源文件、字 符文件和脚本文件等。 根据文件扩展名,又可将普通文件分成以下几类。 (1) 压缩的和归档的文件 ● .bz2:使用 bzip2 压缩的文件。 ● .gz:使用gzip压缩的文件。 ● .tar:使用tar(tape archive,磁带归档的简写)压缩的文件,又称 tar文件。 ● .tbz:使用tar和bzip压缩的文件。 ● .tgz:使用tar和gzip压缩的文件。 .zip:使用ZIP压缩的文件,在MS-DOS应用程序中常见。多数Linux 的压缩文件使用 gzip 压缩,因此 Linux 文件中的 .zip 归档较少见。
2. 用户的登录子目录 根目录里有一个名为home的子目录,它容纳系统上全体用 户的登录子目录(home directory),也叫做主目录、家目录等 。 用户进入系统时,最先进入的是自己的登录子目录。系统 分配给这个子目录的名字和用户的登录名相同。用户第一 次登录上机时建立的任何文件都放在自己的登录子目录中 。每个用户都有他自己的登录子目录,以各自的登录名区 分,每个用户可以再依次建立他们自己的子目录。 用户可以通过子目录的名字来访问它,也可以将它设置为 默认子目录的方法来访问它,即用户可以把一个子目录设 置为自己的默认子目录。如果在文件操作中没有使用任何 子目录的名字,则访问的就将是默认子目录。默认子目录 也叫做“工作子目录”(working directory)。从这个意义上说 ,工作子目录就是用户当前正在其中工作的子目录。
C
D
E
DOS以每个分区为树根,由于有多个分区,所以形成了 多个树并列的情形。 Linux所有的文件系统安装在一个根树上,是一个目录树 。因此在分区时,必须将一个分区安装在树根上,而将其 他的分区安装到树根下面,如果将一个分区安装到/etc,一 个分区安装到/usr,则每一个分区安装的位置,例如,/etc 、/usr就称为安装点。 DOS下,分区是最大的目录,而在Linux下,分区则可能 是比根目录低两三级的目录。 任何一个目录都可能是一个分区。 Linux不仅将分区安装为一个目录,而且它还将其他的硬 件设备都安装成一个个设备文件。对设备的操作是通过文 件的操作完成的。
在DOS下进行移动时,如果源与目标不在一个盘上时,或者 在Linux下源与目标不在一个分区上时,这时要进行文件移 动,就需要进行实际的复制,并将源文件从磁盘上删除。 在Linux下只要文件不在一个目录下,两个文件就可以拥有 一样的文件名和系统的内容。在实际的磁盘上存储这些文 件的时候,文件系统给每个文件都赋予了一个惟一的整数 值。例如,根目录的值为1。这些值就叫做inode(index node, 索引节点)。在磁盘的开始部分存储着盘上所有文件的iode, 所有的这些记录被称为inode table(索引节点表)。在inode table 里面还记录着其他的内容。没有任何两个文件的inode可以 是相同的。这些inode指向惟一的一个文件,就好像是一个 个指针。 当对文件进行操作时,就可能修改inode table。例如,删除 一个文件,在inode table里对应这个文件的inode就会被删除 ;复制一个文件,就会在inode table里增加一个inode。
/根 dev bin mark 主目录 户子目录 用 reports home chris 录 系统子目 robert
letters
1. 用户的系统子目录 Linux的文件结构从一个根目录(即“/”目录)开始向下分成多个 子目录。根目录中的几个系统级子目录里容纳着形成Linux操 作系统各种功能的文件和程序。标准的、原始的文件系统包 括/、/home、/usr、/var、/bin、/sbin、/etc、/dev、/lib。Linux系统 是以文件的目的为依据对文件进行分组的,即相同目的的命 令都放在同一子目录中。系统子目录中的文件的作用是保证 系统的正常运行。它们中的许多还有自己的下级子目录,并 容纳完成Linux操作系统的特定功能的程序。 ● ● /:文件系统结构的起始位置,称为根(root)。 /home:容纳用户登录子目录的hom者文件时分配的名字并不是它的全名 。一个子目录的全名是它的路径名(pathname)。子目录间继 承性的嵌套关系构成了路径,而这些路径用来惟一地确定 和引用一个子目录或者一个文件。在图7-3中,从根目录 “/”到home子目录再到robert子目录是一个路径,路径名写 成/home/robert。系统标识某个子目录时实际用的名字总是 从根目录开始,并由堆叠在该子目录上面的各级子目录组 成。 路径名可以是绝对的也可以是相对的。“绝对路径名 ”(absolute pathname)指的是一个文件或子目录从根目录开始 的完整的路径名。“相对路径名”(relative pathname)指的是 从工作子目录算起,它是一个文件相对于工作子目录的路 径。实际中可能绝对路径名会相当复杂,而且只有系统管 理员才能修改它,为了方便引用它,用户可以使用一个特 殊字符,即“~”,它代表的是用户登录子目录的绝对路径 名。
2 文件类型 Linux中各种文件都有相同的物理格式——即字节流(byte stream) 。“字节流”就是一个字节序列。这使Linux操作系统能够把 文件的概念应用到系统中的每个数据元。子目录也被归入文 件类,设备也是一样。将各种事情都作为文件使Linux操作系 统能够更容易地组织和交换数据。文件中的数据可以直接发 送给显示器等设备,因为设备与操作系统之间与普通文件一 样使用的都是同一种字节流文件格式。 这个同样的文件格式也被用在这个操作系统的其他成分里。 显示器和键盘这类设备的接口被设计为一个文件;子目录等 其他成分就是字节流文件,只不过它们有一个特殊的内部结 构罢了。子目录文件保存着关于子目录的信息,按照特殊的 子目录格式组织起来。因为这些不同的组成都被视为文件, 所以说它们构成了不同的文件类型。根据用户具体实现的 Linux操作系统的不同,文件数量也会发生变化。但最常见的 但最常见的 文件类型有4种 普通文件、目录文件、连接和设备文件。 文件类型有 种:普通文件、目录文件、连接和设备文件。而 DOS下常见的文件类型有两种:普通文件和目录文件。
Linux与DOS文件系统的区别 Linux文件系统是一个目录树的结构,它的根是根目 录“/”,往下连接各个分支,例如,/bin、/usr、/sbin 等,如图所示。 图Linux文件系统
/
/bin
/sbin
/usr
/etc
/var
/lib
/home
/bin /etc /lib
DOS也采用目录树的结构,但是与Linux的略有不同,如图。
(2) 文件格式 ● .au:音频文件。 ● .gif:GIF 图像文件。 ● .html/.htm:HTML文件。 ● .jpg:JPEG 图像文件。 ● .pdf:文档的电子映像;PDF代表Portable Document Format(可移植文档格式 ● .png:PNG(Portable Network Graphic的简写,可移植网络图形)文件。 ● .ps:PostScript文件,为打印而格式化过的文件。 ● .txt:纯ASCII文本文件。 ● .wav:音频文件。 ● .xpm:图像文件。 (3) 系统文件 ● .conf:一种配置文件。配置文件有时也使用.cfg。 ● .lock:锁(Lock)文件;用来判定程序或设备是否正在被使用。 ● .rpm:Red Hat用来安装软件的软件包管理器文件。
● /bin:保存引导所需的命令和普通用户可能用到的命令 。任何用户都可以使用这 里的命令。 ● /usr:包含系统使用的文件和命令,该目录分成几个下 级子目录。
● /usr/bin:保存面向用户的命令和辅助性工具。 ● /usr/sbin:保存系统管理方面的命令。 ● /usr/lib:保存程序语言的库文件。 ● /usr/doc:保存Linux文档。 ● /usr/man:保存由man命令调用的命令联机手册。 ● /usr/spool:保存假脱机文件。 ● /sbin:与目录/bin类似,保存用于系统引导的系统管理命 令。 ● /dev:保存设备的文件接口,例如,终端和打印机等。 ● /var:保存经常变动的文件,例如,记录文件、临时文 件和电子邮箱文件等。 /etc:保存系统配置文件和任何其他系统性的文件。
相关主题