Linux 硬盘和文件系统管理是 Linux 系统管理员必须掌握的重要技能。在Linux中,硬盘的管理和组织方式与Windows等其他操作系统有所不同,这里主要介绍几个关键概念和操作。
分区是硬盘管理的基础。在Linux中,最传统的分区方式是MBR(Master Boot Record),它允许最多创建4个主分区或3个主分区加1个扩展分区。扩展分区可以包含多个逻辑分区。例如,3个主分区和1个扩展分区的配置是常见的。
接下来是文件系统,它是硬盘上存储数据的结构化方式。Linux支持多种文件系统,如ext2、ext3等。ext2是早期的标准文件系统,而ext3则在ext2的基础上增加了日志功能,提高了系统的稳定性。要查看Linux支持的文件系统列表,可以运行`ls -l /lib/modules/uname -r/kernel/fs`命令,查询当前已启用的文件系统则使用`cat /proc/filesystems`。
在Linux中,硬盘的最小存储单位是扇区,通常为512字节。逻辑块(Block)是文件系统格式化时设定的最小存储单元,1个block可能存储多个小文件,但一个大文件不能被分割存储在多个block中。分区时,每个分区都会形成一个文件系统,其中的superblock是至关重要的,因为它包含了文件系统的关键信息,如果superblock损坏,整个文件系统可能无法工作。
EXT2文件系统中引入了inode的概念,每个inode存储了文件的元数据,包括文件的所有者、权限、类型、时间戳以及指向文件内容的指针。inode表和block区域共同构成了EXT2文件系统的核心。`ls`命令显示的默认时间通常是mtime,即文件的最后修改时间。读取文件内容时,Linux会根据inode找到对应的block来获取文件内容。对于目录,inode记录了目录的属性和指向其block的信息,block则记录了目录内的文件和子目录的关系。
载入点(Mount Point)是文件系统挂载到系统目录树上的位置,它必须是一个目录。使用`df`和`du`命令可以查看硬盘的总容量、已使用空间以及当前目录的使用情况。
在Linux中,还可以通过`ln`命令创建链接文件,链接文件分为硬链接和符号链接。硬链接实际上是指向同一文件的多个目录项,它们共享相同的inode,不占用额外的空间。符号链接则类似Windows的快捷方式,创建一个指向源文件的新文件,当源文件删除后,符号链接将失效。
硬盘分区的操作主要包括使用`fdisk`工具进行查看、删除、新增分区,然后用`mke2fs`对新分区进行格式化,`fsck`用于检查硬盘错误,`badblocks`可检测坏道,`sync`确保内存中的数据写入硬盘。使用`mount`命令将分区挂载到指定的载入点。
Linux的硬盘和文件系统管理涉及到许多层面,从分区规划到文件系统的创建、维护和优化,都是系统管理员日常工作中不可或缺的部分。熟悉这些概念和命令,将有助于更好地管理和维护Linux系统。