Linux文件系统精通指南

合集下载

LINUX文件系统详解

LINUX文件系统详解

LINUX文件系统详解一、物理磁盘到文件系统文件系统是用来存储文件内容、文件属性、和目录。

这些类型的数据如何存储在磁盘块上的呢?unix/linux使用了一个简单的方法。

如图所示.它将磁盘块分为三个部分:1)超级块,文件系统中第一个块被称为超级块。

这个块存放文件系统本身的结构信息。

比如,超级块记录了每个区域的大小,超级块也存放未被使用的磁盘块的信息。

2)I-切点表。

超级块的下一个部分就是i-节点表,第个文件都有一些属性,如文件的大小、文件所有者、和创建时间等,这些性质被记录在一个称为i-节点的结构中。

所有i-节点都有相同的大小,并且i-节点表是这些结构的一个列表,文件系统中每个文件在该表中都有一个i-节点。

3)数据区。

文件系统的第3个部分是数据区。

文件的内容保存在这个区域。

磁盘上所有块的大小都一样。

如果文件包含了超过一个块的内容,则文件内容会存放在多个磁盘块中。

一个较大的文件很容易分布上千个独产的磁盘块中,至于文件系统是如何跟踪这些磁盘块的,在第四节再讲。

二、创建一个文件的过程我们现在知道文件的内容和属性是分开存放的,那么又是如何管理它们的呢。

现在我们以创建一个文件为例来讲解。

在命令行输入命令:$ who > userlist当完成这个命令时。

文件系统中增加了一个存放命令who输出内容的新文件,那么这整个过程到底是怎么回事呢?文件有属性和内容,内核将文件内容存放在数据区,文件属性存放在i-节点,文件名存放在目录。

图2显示了创建一个文件的例子,假如这个新文件要3 个存储块来存放内容。

四个步骤如下:1)存储属性也就是文件属性的存储,内核先找到一块空的i-节点。

图2中。

内核找到i-节点号47。

内核把文件的信息记录其中。

如文件的大小、文件所有者、和创建时间等2)存储数据即文件内容的存储,由于该文件需要3个数据块。

因此内核从自由块的列表中找到3个自由块。

图2中分别为627、200、992,内核缓冲区的第一块数据复制到块627,第二和第三分别复制到200和992.3)记录分配情况,数据保存到了三个数据块中。

Linux操作系统文件系统基础知识详解

Linux操作系统文件系统基础知识详解
注意:1、挂载点必须是一个目录。
2、一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这 用。 对于其他操作系统建立的文件系统的挂载也是这样。但是需要理解的是:光盘、软 件系统的格式与linux使用的文件系统格式是不一样的。光盘是ISO9660;软盘是f fat16、NTFS;windows98是fat16、fat32;windows2000和windowsXP是fat16、fa linux是否支持所要挂载的文件系统格式。
hpfs OS/2文件系统 auto 自动检测文件系统 -o<选项> 指定挂载文件系统时的选项。有些也可用在/etc/fstab中。常用的 codepage=XXX 代码页 iocharset=XXX 字符集 ro 以只读方式挂载 rw 以读写方式挂载 nouser 使一般用户无法挂载 user 可以让一般用户挂载设备
/usr/X11R6 存放X window的目录
/usr/bin 众多的应用程序
/usr/sbin 超级用户的一些管理程序
/usr/doc linux文档
/usr/include linux下开发和编译应用程序所需要的头文件
/usr/lib 常用的动态链接库和软件包的配置文件
三 、挂载文件系统
由上一节知道,linux系统中每个分区都是一个文件系统,都有自己的目录层 不同分区的、单独的文件系统按一定的方式形成一个系统的总的目录层次结构。这 是指的挂载。 将一个文件系统的顶层目录挂到另一个文件系统的子目录上,使它们成为一个整体 为挂载点。 举个例子吧:
根分区:
/根目录 ┃ ┏━━━━┳━━━━━┳━━━━━┳━━━━━╋━━━━━┳━━━━━┳ ┃┃┃┃┃┃┃┃┃ bin home dev etc lib sbin tmp usr var ┃ ┏━┻━┓ ┃┃ rc.d cron.d ┃ ┏━━━┳━━━┳━┻━┳━━━━┓ ┃┃┃┃┃

Linux操作系统入门指南从零开始掌握Linux技术

Linux操作系统入门指南从零开始掌握Linux技术

Linux操作系统入门指南从零开始掌握Linux技术自古以来,在人类的进程中,无数的发明创造推动了社会的发展。

而当今世界,科技的迅猛进步已成为人类社会不可忽视的一部分。

而作为科技领域的一项重要成就,Linux操作系统正逐渐走入寻常百姓的生活之中。

本文就将为大家呈现一份全方位的入门指南,希望能够帮助大家从零开始掌握Linux技术。

一、Linux操作系统简介Linux操作系统作为一款自由、开放源代码的软件,其诞生便引起了全球范围内的广泛关注。

它的特点之一在于高度的可定制性,用户可以自由地定制操作系统来满足不同需求。

此外,Linux操作系统还以其稳定性和安全性备受好评,成为许多企业和个人首选的操作系统。

二、Linux操作系统的安装要掌握Linux技术,首先要进行操作系统的安装。

在这一过程中,我们需要准备安装介质,例如U盘或者光盘,并按照指引一步一步进行操作。

虽然安装过程可能会相对复杂,但只要有耐心和细心,相信大家都能够完成。

三、Linux常用命令的学习作为Linux操作系统的用户,掌握一些常用命令是必不可少的。

比如,文件的创建与删除、目录的操作、文件权限的设置等等。

熟练使用这些命令不仅能够提高工作效率,还能更好地保护系统的安全性。

通过反复练习和实践,相信大家很快就能够熟练掌握这些命令。

四、Linux软件管理与应用作为一款开放源代码的操作系统,Linux拥有庞大的软件库,其中包含了各式各样的应用程序。

学习如何管理和运用这些软件将为你的工作和生活带来很多便利。

掌握Linux软件管理的基本方法后,你可以轻松地安装、更新和卸载软件,满足个人需求。

五、Linux系统维护与故障排除在使用Linux操作系统的过程中,难免会遇到各种各样的故障和问题。

在这些时候,学习如何进行系统维护和故障排除将显得尤为重要。

了解如何正确备份和恢复文件、解决网络连接中断、修复损坏的文件系统等,都是维护和优化Linux系统的关键步骤。

六、Linux进阶技术的学习掌握Linux的基本用法后,进一步学习Linux的进阶技术将为你带来更多的惊喜。

10-Linux文件系统(学习笔记和实践操作)

10-Linux文件系统(学习笔记和实践操作)

10-Linux文件系统文件系统文件系统的用户观对用用户来说,我不关心文件系统的技术是什么。

我只关系我的数据存在哪里,系统文件在什么地方。

Linux文件系统就是多级树状目录结构也被称为文件系统布局命令:ll(参看文件和目录)ll并不是linux下一个基本的命令,它实际上是ls -l的一个别名。

例:查看系统文件系统ll /(/根目录)例:/(根目录) /home(用户家目录) /etc(配置目录) /dev(设备目录)/usr(系统软件)文件系统的操作系统观文件系统是操作系统用于明确磁盘分区上的文件的方法和数据结构。

既文件在磁盘上的组织方法。

windows文件系统:Fat Fat32 NTFSLinux的内核采用了虚拟文件系统技术(VFS)。

Linux可以支持多种不同的文件系统。

从运行的程序来看,所有的文件系统没有差别。

Linux的VFS允许用户同时使用不同类型的文件系统。

命令df 用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。

-h:采用容易读的格式-T:显示文件系统的形式例:查看本机的磁盘使用情况df -h例:参看本机的文件系统格式df -h -T结果:Filesystem Type Size Used Avail Use% Mounted on/dev/mapper/vg_sl-lv_rootext4 26G 13G 13G 51% /tmpfs tmpfs 932M 228K 932M 1% /dev/shm/dev/sda1 ext4 477M 34M 419M 8% /bootDevice mapper是Linux内核中提供的一种从逻辑设备到物理设备的映射机制,在该机制下,用户能够很方便的根据自己的需要实现对存储资源的管理,在具体管理时需要用到逻辑卷管理器。

/dev/shm/是linux下一个非常有用的目录,因为这个目录不在硬盘上,而是在内存里,速度非常快。

/dev/sda1是我们的磁盘的一个分区。

linux建立和使用文件系统的步骤

linux建立和使用文件系统的步骤

linux建立和使用文件系统的步骤
在Linux上建立和使用文件系统的步骤如下:
1. 检查磁盘分区:使用命令fdisk -l或者lsblk来查看系统上的
磁盘分区信息。

2. 创建文件系统:选择一个分区来创建文件系统。

常用的文件系统包括ext4、btrfs、xfs等。

例如,使用命令mkfs.ext4
/dev/sda1来在/dev/sda1分区上创建ext4文件系统。

3. 挂载文件系统:将新创建的文件系统挂载到一个目录上,使得文件系统可以在该目录下访问。

例如,使用命令mount
/dev/sda1 /mnt来将/dev/sda1分区挂载到/mnt目录上。

4. 自动挂载文件系统:如果想要每次开机都自动挂载文件系统,可以编辑/etc/fstab文件,将文件系统的挂载信息添加到其中。

5. 使用文件系统:在文件系统挂载后,可以使用cd命令切换
到挂载点目录下,进行文件的读写等操作。

6. 卸载文件系统:如果要卸载文件系统,可以使用umount命令。

例如,使用umount /mnt来卸载/mnt目录下的文件系统。

以上是建立和使用文件系统的基本步骤,具体操作可以根据实际需要进行调整。

Linux命令行下的文件系统管理技巧

Linux命令行下的文件系统管理技巧

Linux命令行下的文件系统管理技巧Linux作为一种广泛使用的操作系统,具备强大的命令行工具,使得文件系统管理变得高效而灵活。

在本文中,将介绍一些在Linux命令行下,对文件系统进行管理的技巧和常用命令。

一、文件系统基础在开始学习文件系统管理技巧之前,我们需要了解一些基本的文件系统概念和操作命令。

1.1 文件系统的基本概念在Linux中,文件系统是指存储设备或分区上的目录结构和文件组织方式。

常见的文件系统类型包括ext4、NTFS、FAT32等。

文件系统的主要任务是管理文件和文件夹,并提供对其进行读取、写入、修改和删除的功能。

1.2 基本的文件系统管理命令下面是一些常用的文件系统管理命令:- cd:切换当前目录。

- ls:列出当前目录下的文件和文件夹。

- mkdir:创建新的目录。

- rm:删除文件或目录。

- cp:复制文件或目录。

- mv:移动文件或目录。

- touch:创建新的空文件或更新已有文件的时间戳。

二、文件系统管理技巧2.1 使用绝对路径和相对路径在文件系统管理中,常常需要切换目录、访问文件或目录。

为了避免繁琐的路径输入,可以使用绝对路径或相对路径。

- 绝对路径:以根目录(/)为起点的完整路径,例如:/home/user/document。

- 相对路径:相对于当前目录的路径,例如:../document,表示上级目录下的document文件。

2.2 切换目录使用cd命令可以切换当前目录。

例如,cd /home/user将切换到/home/user目录。

此外,可以使用cd命令的特殊符号来快速切换目录:- cd ..:切换到上级目录。

- cd -:切换到上次所在的目录。

- cd ~:切换到当前用户的家目录。

2.3 列出文件和目录使用ls命令可以列出当前目录下的文件和目录。

ls命令的常用选项包括:- -l:以长格式显示文件和目录的详细信息。

- -a:显示所有文件和目录,包括隐藏文件和目录。

详解Linux操作系统中的文件管理技巧

详解Linux操作系统中的文件管理技巧章节一:Linux操作系统简介1.1 Linux操作系统的定义和特点1.2 Linux操作系统的优势和应用领域1.3 Linux操作系统的版本和发行版章节二:Linux文件系统层次结构2.1 根目录、子目录和文件的概念2.2 Linux文件路径表示方法和命名规则2.3 常用的文件系统类型及其特点章节三:Linux文件的基本操作3.1 文件的创建、复制、移动和删除3.2 文件的重命名和链接3.3 文件权限和所有者的管理3.4 文件的查找和排序章节四:Linux文件的查看和编辑4.1 使用cat命令查看文件内容4.2 使用more和less命令分页显示文件内容4.3 使用head和tail命令查看文件头尾内容4.4 使用grep和find命令搜索文件内容4.5 使用vi和nano等编辑器修改文件章节五:Linux文件的打包和压缩5.1 使用tar命令打包文件和目录5.2 使用gzip和bzip2命令压缩文件5.3 使用zip和unzip命令压缩解压缩文件章节六:Linux文件的权限管理6.1 文件权限的概念和表达方式6.2 使用chmod命令修改文件权限6.3 使用chown和chgrp命令修改文件所有者和所属组 6.4 使用umask命令设置默认文件权限章节七:Linux文件系统的挂载和卸载7.1 挂载点的概念和作用7.2 使用mount命令挂载文件系统7.3 使用umount命令卸载文件系统7.4 挂载文件系统的配置文件和参数章节八:Linux文件的备份和恢复8.1 备份和恢复的重要性和常用方法8.2 使用cp和rsync命令进行文件备份8.3 使用tar和gzip等命令进行文件备份8.4 使用dd命令进行磁盘镜像备份章节九:Linux文件系统的监控和维护9.1 使用df和du命令查看磁盘空间使用情况 9.2 使用fsck命令检查和修复文件系统错误 9.3 使用top命令监控系统资源占用9.4 使用logrotate命令管理日志文件大小章节十:Linux文件的共享和访问控制10.1 使用NFS和Samba搭建文件共享10.2 设置文件夹权限和访问控制列表10.3 使用FTP和SSH等协议进行文件传输 10.4 使用ACL进行高级文件权限管理本文详细介绍了Linux操作系统中的文件管理技巧,从操作系统的介绍开始,深入到文件系统的层次结构,讲解了文件的基本操作、查看和编辑、打包和压缩、权限管理、文件系统的挂载和卸载、备份和恢复、监控和维护以及共享和访问控制等方面的内容。

Linux.文件系统精通指南

Linux 文件系统精通指南作者:Sheryl Calish究竟什么是“文件系统”?Sheryl Calish 介绍了这个概念以及它的实际应用尽管内核是 Linux 的核心,但文件却是用户与操作系统交互所采用的主要工具。

这对 Linux 来说尤其如此,这是因为在 UNIX 传统中,它使用文件 I/O 机制管理硬件设备和数据文件。

遗憾的是,新手通常会混淆介绍 Linux 文件系统概念的术语。

术语文件系统 可以在 Linux 文件编制中互换使用,用于指代几个不同但相关的概念。

除磁盘分区的具体实例外,文件系统还指代数据结构以及分区中文件的管理方法。

另新手更感困惑的是,该术语还用于指代系统中文件的整体组织形式:目录树。

此外,该术语还可以指代目录树中的每个子目录,如在 /home 文件系统中。

某些人认为,这些目录和子目录不能称作真正意义上的文件系统,除非它们均驻留在各自的磁盘分区上。

然而,其他人却将其称作文件系统,这无疑又增添了困惑。

Linux 老手可以从上下文中理解这些术语的含义。

而新手却很难在一时半会儿就辨别出这样的上下文。

本文的主要目标就是提供足够的背景知识,以帮助您辨别此术语的上下文。

在阐明文件系统术语的细微差别的过程中,您还将学习如何将某些非常有用的相关工具从理论应用上升到实际应用。

本文主要介绍了 2.4 版 Linux 内核中的 Linux 磁盘分区和文件管理系统特性。

此外,还介绍了 2.6 版 Linux 内核中的新特性。

磁盘分区概述Linux 和 UNIX 中的基本文件存储单元都是磁盘分区,即将一个或多个硬盘的逻辑划分,操作系统将每个逻辑分区视为独立的磁盘。

文件和文件管理系统“居住”在磁盘分区中。

Linux 将这些磁盘分区作为设备处理,进而通过 /dev 目录中的特殊文件使用文件 I/O 机制。

有两种类型的设备文件:块和字符/原始。

两者之间的一个重要差别是,块设备被缓冲,而字符设备因为没有文件管理系统,所以不被缓冲。

Linux文件系统详解

Linux文件系统详解系统管理员很重要的任务之一就是管理好自己的磁盘文件系统,每个分区不可太大也不能太小,太大会造成磁盘容量的浪费,太小则会产生档案无法储存的困扰。

此外,我们在前面几章谈到的档案权限与属性中,这些权限与属性分别记录在文件系统的那个区块内?这就得要谈到filesystem中的inode与block了。

在本章我们的重点在于如何制作文件系统,包括分割、格式化与挂载等,是很重要的一个章节喔!1认识EXT2文件系统Linux最传统的磁盘文件系统(filesystem)使用的是EXT2这个啦!所以要了解文件系统就得要由认识EXT2开始!而文件系统是建立在硬盘上面的,因此我们得了解硬盘的物理组成才行。

磁盘物理组成的部分我们在第零章谈过了,至于磁盘分区则在第三章谈过了,所以底下只会很快的复习这两部份。

重点在于inode,block还有superblock 等文件系统的基本部分喔!1.1硬盘组成与分割的复习由于各项磁盘的物理组成我们在第零章里面就介绍过,同时第三章也谈过分割的概念了,所以这个小节我们就拿之前的重点出来介绍就好了!详细的信息请您回去那两章自行复习喔!^_^。

好了,首先说明一下磁盘的物理组成,整颗磁盘的组成主要有:1)圆形的磁盘盘(主要记录数据的部分);2)机械手臂,与在机械手臂上的磁盘读取头(可擦写磁盘盘上的数据);3)主轴马达,可以转动磁盘盘,让机械手臂的读取头在磁盘盘上读写数据。

从上面我们知道数据储存与读取的重点在于磁盘盘,而磁盘盘上的物理组成则为(假设此磁盘为单盘片,磁盘盘图标请参考第三章图2.2.1的示意):扇区(Sector)为最小的物理储存单位,每个扇区为512bytes;将扇区组成一个圆,那就是磁柱(Cylinder),磁柱是分割槽(partition)的最小单位;第一个扇区最重要,里面有:(1)主要开机区(Master boot record,MBR)及分割表(partition table),其中MBR占有446bytes,而partition table则占有64bytes。

Linux文件系统详解理解文件和结构

Linux文件系统详解理解文件和结构Linux文件系统是计算机操作系统中重要的一部分,用于管理和组织存储在硬盘上的文件和文件夹。

了解文件和文件系统的内部结构对于使用Linux操作系统以及进行系统维护和故障排除至关重要。

本文将详细介绍Linux文件系统的概念、文件和结构。

一、Linux文件系统概述文件系统是用于访问、组织和管理存储设备上的文件和文件夹的一种机制。

在Linux中,文件被组织成以目录为单位的层次结构。

每个文件系统都有一个根目录,用“/”表示。

二、文件和目录文件是存储数据的实体,在Linux中,文件可以是文本文件、二进制文件、设备文件等。

每个文件都有一个唯一的路径和名称。

文件路径是指从根目录到文件的完整路径,例如,“/home/user/file.txt”。

目录是用来组织文件的容器,类似于文件夹。

目录可以包含其他目录和文件,形成一个层次结构。

在命令行中,可以使用“ls”命令查看目录中的文件和子目录。

三、Linux文件系统结构1. 超级块(Superblock):存储文件系统的基本信息,如文件系统的类型、大小、使用情况等。

2. 索引节点(Inode):每个文件和目录都有一个唯一的索引节点,用于存储文件的元数据(如文件大小、权限、拥有者等)和指向文件数据块的指针。

3. 数据块(Data Block):存储文件的实际数据内容。

文件被分割成若干个固定大小的数据块,然后存储在不同的物理存储设备上。

4. 空闲块位图(Free Block Bitmap):记录哪些数据块是空闲的,可以存储新文件的数据。

5. 空闲索引节点位图(Free Inode Bitmap):记录哪些索引节点是空闲的,可以用于创建新文件或目录。

6. 目录项(Directory Entry):用于将文件名与索引节点进行关联,使文件能够被查找和访问。

四、常见的Linux文件系统1. ext文件系统:是Linux常用的文件系统类型,包括ext2、ext3和ext4等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

289
15088+ 83
844 4195768+ 83
983 1050808+ 82
1816 6297448+ 83
1940 937408+ 83
Win95 FAT32 (LBA) Extended Linux Linux Linux swap Linux Linux
分区表中的名称 /dev/hda 至 /dev/hdd 分别代表 IDE 驱动器 1 至 4,其中 hda 代表驱 动器 1,hdb 代表驱动器 2,依此类推。驱动器内的分区用数字指代,因此 /dev/hda5 是 第一个 IDE 驱动器上的第五个分区。对于 SCSI 驱动器,使用了类似的命名模式:/dev/sda to /dev/sdd。
存储在磁盘最开始位置的分区表提供了该磁盘上分区的映射。可以使用 fdisk 命令查看系 统的分区表。
# fdisk -l
Disk /dev/hda:240 heads, 63 sectors, 1940 cylinders
Units = cylinders of 15120 * 512 bytes
块大小
1KB-4KB 1KB-4KB 只有 4KB
日志功能



崩溃后重新启动 慢

非常快
用于恢复清除文



件的工具
崩溃后数据的状 良好

非常好 一般
ACL 支持



稳定性
优秀
良好
良好
由于 ext2 和 ReiserFS 均提供了用户级安全性以及更高效的磁盘空间使用等特性,因此尽 管至少 ext2 确实提供了碎片整理工具,但几乎不需要这些工具。Ext2 是传统的、事实上 的标准 Linux 文件管理系统。它是 Red Hat 版本 Linux 的默认文件管理系统,而 ReiserFS 是 SUSE 的默认文件管理系统。ext2/ext3 的最大文件大小实际上取决于所选择 的块大小和硬件体系结构。ext2 的许多特性之一是它允许由磁盘分区决定块大小。ReiserFS 技术允许在磁盘分区中使用可变的文件大小(这是因为它基于平衡树技术而不是基于范围), 因此除日志功能以外,高效的空间使用也是其设计所固有的。
Linux 文件系统精通指南
作者:Sheryl Calish
究竟什么是“文件系统”?Sheryl Calish 介绍了这个概念以及它的实际应用
尽管内核是 Linux 的核心,但文件却是用户与操作系统交互所采用的主要工具。这对 Linux 来说尤其如此,这是因为在 UNIX 传统中,它使用文件 I/O 机制管理硬件设备和数据文件。
• Microsoft 的 fat、ntfs、vfat、fat32 • IBM 的 hpfs (OS/2) • Apple 的 Macintosh hfs • Amiga 的 affs • Acorn 磁盘文件系统 adfs
请注意,Oracle 不支持某些文件系统,因此在使用这些文件系统时风险自负。
Used 2015020 3778 202368 3882504 0 1854192
Available 2180612 10075 735004 2414744 256220 305800
Use% 49% 8% 22% 62% 0% 86%
Mounted on / /boot /home /opt /dev/shm /windows/C
文件管理系统概述
要使分区后的磁盘可用,必须在其上构建文件系统。这种情况下,通常还将文件系统称作“分 区类型”、“基于磁盘的文件系统”和“文件系统类型”。实际上,可以将这些文件系统看 作是文件管理系统,这是因为该称呼正体现了它们的功能:它们通过维护文件上的元数据, 使系统上的文件保持状态一致。
Linux 项目的特点之一是需要实现与每个可用实用程序的多个样式和首选设置的兼容性,而 这种兼容性在可用文件管理系统的选择上体现得最为明显。Linux 内核内部的虚拟文件系统 (VFS) 实现了此选择。VFS 采用了一组可由其他文件管理系统使用的基本数据结构。这些数 据结构是超级块、inode、dentry(或目录文件)和数据块。
文件名通过 dentry 对象(用户看到的是目录文件)链接到一个 inode 编号。数据块保存 实际的文件数据。
Linux 支持任何具备 VFS 定义的基本函数集的文件管理系统。对于像 vfat 这样的文件管 理系统,Linux 项目提供了它自己的设备驱动程序。
您可以从以下输出中看到,不同的文件管理系统可以存在于同一系统的不同分区上。
Linux 老手可以从上下文中理解这些术语的含义。而新手却很难在一时半会儿就辨别出这样 的上下文。
本文的主要目标就是提供足够的背景知识,以帮助您辨别此术语的上下文。在阐明文件系统 术语的细微差别的过程中,您还将学习如何将某些非常有用的相关工具从理论应用上升到实 际应用。
本文主要介绍了 2.4 版 Linux 内核中的 Linux 磁盘分区和文件管理系统特性。此外,还 介绍了 2.6 版 Linux 内核中的新特性。
您可能已经注意到,在 fdisk 列表中 LBA 是括在括号中的。LBA 表示逻辑块寻址,它将硬 盘的柱面、块和扇区模式转换为线性块编号进行处理。
在 Linux 中,分区分为主分区、扩展分区和逻辑分区。术语主分区 是先前 x86 系统上四 个分区限制的遗留产物。与 DOS 和 Windows 不同,Linux 可以从主分区或逻辑分区启动。 用作逻辑分区占位符的主分区称作扩展分区。扩展分区本身拥有指向一个或多个逻辑分区 (它们只是主分区的子分区)的分区表。在以上的 fdisk 列表中,hda2 就是一个扩展分区。
当前,就文件管理系统的选择来讲,共同的见解是,除少数情况外,ext2、ext3 和 ReiserFS 之间的性能基本相当。然而在各种系统的拥护者之间却爆发了激烈的争论。ReiserFS 由于
能够处理可变的文件大小,因此更适用于具有许多小文件的系统。当然,如果您正要或计划 在 Linux 上运行 Oracle RAC,则可能需要为 Oracle 数据文件和配置文件安装 OCFS 或使 用自动存储管理 (ASM)。
在编写本文档期间,Reiser4 刚好已经发布。同 ReiserFS3.6 一样,ReiserFS4 只记录元 数据。与 ReiserFS3.6 不同的是,它基于新的舞蹈树算法,此算法似乎比平衡树算法更快。 它还可以扩展到使用无数个 CPU,而且在磁盘写入时具有内置加密和压缩功能。
OCFS 是 Oracle 真正应用程序集群 (RAC)、配置文件和数据库文件的指定文件管理系统。 其他文件(甚至是 Oracle 软件文件)将在 ext2/ext3 或 ReiserFS 上获得更好的性能。
当前,Oracle 用户遇到的最常用的文件管理系统是 ext2/ext3、ReiserFS(不受 Oracle 支 持)和 OCFS。以下是非 Oracle 分区主要特性的汇总表。
特性 最大分区大小 最大文件大小
ReiserFS3.6(不受 Oracle
ext2
ext3
支持)
4TB
4TB
16TB
2GB-4GB 2GB-4GB 8TB
第一至第四个分区保留给主分区,第五个及随后的分区用于逻辑分区。因此,以上所示的分 区表中有一个驱动器 hda,它包含一个主分区 hda1、一个扩展分区 hda2 和五个逻辑分区 /dev/hda5 至 /dev/hda9。以名称 shmfs 列出的文件系统表示根据 Linux 2.4 中的 POSIX 标准挂载为特殊文件系统的共享内存文件系统。
每个分区都包含一个超级块,用于维护分区中文件系统上的信息,包括一组在每个超级块中 唯一编号的 inode、空闲 inode 的数目以及 inode 总数、数据块总数、空闲数据块数和文
件系统的状态。文件系统的状态有两种:干净(当文件处于未更改状态时)和脏(当有未写 入磁盘的文件系统更改时)。超级块中的一个 inode 对应着一个文件。
日志文件管理系统(如 ext3 和 ReiserFS)记录对文件系统元数据:inode、空闲块分配映 射、inode 映射等的更改。当系统崩溃时,可以通过此方式检查日志以获得最近修改的元数 据,从而确保快速恢复文件系统。此功能对大型系统尤其重要。如果没有此功能,则在出现 硬件故障后,对于 ext2 等文件系统,需要在重新启动时运行 fsck 工具。对于大型文件系 统,此过程可能要花费几个小时。
当然,记录日志需要付出一定的代价,即需要在处理时间和恢复之间寻求一个平衡。对于 ext3,可以选择日志记录模式,这些模式允许在寻求上述平衡时做出某些自主决定。journal 模式(记录所有文件系统数据,包括数据块和元数据)是最安全但也是最慢的模式。默认模 式(称作 orderd)只记录元数据,但在写元数据之前先将数据块写入磁盘,从而在快速恢 复和快速性能之间取得折衷。最快的模式是 writeback 模式,该模式只记录元数据。在此 模式中,可能会丢失文件数据,但文件系统自身的完整性将得到维护。
df -T Filesystem /dev/hda6 /dev/hda5 /dev/hda9 /dev/hda8 shmfs /dev/hda1
Type reiserfs ext2 reiserfs reiserfs shm vfat
1K Blocks 4195632 14607 937372 6297248 256220 2159992
Linux 内核 2.6 版中最重要的新特性是访问控制列表 (ACL)。ACL 允许为一个或多个用户 列表或用户组授予对单个文件的使用权限。其他新特性包括:
• 对 CD-ROM 上使用的 ISO 9660 文件系统的增强支持 • 可以存储在文件系统中的默认挂载选项 • 用于加速文件搜索的索引目录 • 对 Windows 的逻辑磁盘管理器(动态磁盘)的支持 • 能够将 ntfs 挂载为读/写,但写仍处于试验状态 • 对 fat12(旧 DOS 文件系统)的增强支持
相关文档
最新文档