Linux系统下的分区和文件系统详解(1)
时间:2010-09-04 来源:mydear
我们的文章 “学习 Linux,101:硬盘布局” 介绍了硬盘驱动器布局、分区、以及使用 fdisk 命令来查看分区信息的基本知识。您学习了主分区、扩展分区 和逻辑分区 等分区的相关知识,了解到 Linux 文件系统包含一些文件,它们存储在磁盘上或目录 中的块存储设备 上。与许多其他系统一样,Linux 系统上的目录也可能包含其他目录,这些目录称为子目录。这篇文章还讨论了一些指导您进行分区选择的注意事项。
本文将首先回顾一下块设备和分区,然后进一步展示如何使用 fdisk 命令创建、修改或删除块设备上的分区。您还将学习 mkfs(mkfs 代表 make filesystem) 命令的各种形式;mkfs 命令用于将分区格式化为一种特殊的文件系统类型。
注意:除了 LPI 考试要求的工具和文件系统外,您可能会遇到或需要其他工具和文件系统。其他工具和文件系统 小节提供了其他可用工具的一个简单摘要。
块设备
块设备 是能够以固定大小块 格式化的任意存储设备的抽象层。单独的块的访问可以独立于其他块的访问。这样的访问通常称为随机访问。
随机可访问的固定大小块的抽象层允许程序使用这些块设备,而无需担心底层设备是硬盘驱动器、软盘、CD、固态(solid-state)驱动器、网络驱动器,还是某种虚拟设备,比如内存中文件系统。
块设备示例包括系统上的第一 IDE 硬盘驱动器(/dev/sda 或 /dev/hda)或第二 SCSI、IDE 或 USB 驱动器(/dev/sdb)。使用 ls -l 命令来显示 /dev 条目。每行输出的第一个字符是 b(针对一个块设备,比如软盘、CD 驱动器、IDE 硬盘驱动器或 SCSI 硬盘驱动器)和 c(针对一个字符设备,比如 a、终端(tty)或空设备。清单 1 展示了一些示例。
清单 1. Linux 块设备和字符设备
[ian@echidna ~]$ ls -l /dev/loop1 /dev/null /dev/sd[ab] /dev/sr0 /dev/tty0 |
分区
对于某些块设备,比如软盘和 CD 或 DVD 磁盘,通常使用整个媒体作为单个文件系统。但是,对于大型硬盘驱动器,甚至是 USB 存储器,更常见的用法是将可用空间划分为几个不同的分区。
分区的大小可能不同,不同的分区上可以拥有不同的文件系统,因此一个磁盘可以用于多种目的,包括在多个操作系统之间共享该磁盘。例如,我使用的测试系统包含几个不同的 Linux 发行版,有时还包含一个 Windows® 系统,它们都共享一个或两个硬盘驱动器。
文章 “学习 Linux,101:硬盘布局” 介绍过,硬盘驱动器拥有一个几何参数(geometry),根据术语柱面、磁头和扇区定义。即使是现代驱动器也使用逻辑块寻址 (LBA),这使得几何参数变得几乎无关紧要,用于分区目的的基本分配单元通常仍旧是柱面。