08 Linux文件系统管理

1 文件系统的概念

操作系统用于明确存储和组织计算机数据的方法。##使得对数据的查找和访问变得更加容易。

2 存储在介质中数据的三个因素

  • 文件名:定位存储的位置
  • 数据:文件的具体内容
  • 元数据meta-data:文件有关的信息。例如文件的权限、所有者、文件的修 改时间等。
    Linux支持的文件系统类型可查看/etc/filesystems。

3 文件系统的分类

  • 是否有日志?
  • 传统型文件系统:写入文件内容的时候,先写数据,再写元数据。(如果写入数据的时候断电,就会出事) 例子:ext2
  • 日志型文件系统:写入文件内容的时候,先写日志记录文件(更安全)。 ext3=ext2+日志 ReiserFS基于平衡树,搜索快,节约空间,小文件读写快
  • 如何查找数据?
  • 索引式文件系统:文件属性数据和实际内容放在不同的区块,例如Linux中默认的ext2中,文件属性数据存放在inode,实际内容放在block。
08 Linux文件系统管理_第1张图片
inode和Block
  • 非索引式文件系统:只有block,数据需要一个block接一个block读取(下一个block位置存放在上一个block中),效率低。 FAT
  • 碎片整理:就是写入的数据的block太过分散,此时读取的效率会很低。磁盘整理的目的 就是将这些分散的block尽量的集中起来。


    08 Linux文件系统管理_第2张图片
    blocks

3.5 ext2文件系统的结构

08 Linux文件系统管理_第3张图片
ext2

ext2一开始就将inode和datablock规划好了→inode和datablock的数量是很庞大的,不易管理。所以有了区块群组blockgroup的概念。每个群组都有自己的inode, datablock, superblock。这样易于管理。

4 配置文件系统分区

  • 创建分区fdisk+设备名,输入完该命令之后,可以通过参数m查看按键操作说明,通过参数p可以得到本磁盘的相关信息,输入n命令可以新建一个分区。
    使用完n之后,新建分区的步骤如下:

    1. 选择分区类型
    2. 选择分区开始的磁柱
    3. 决定分区的大小
    4. 保存新建的分区
      通过重启服务器或使用partprobe命令通知内核
  • 创建文件系统mkfs [参数] 设备名,-t指定文件系统类型 -b指定block大小,单位bytes,ext2和ext3仅支持1024/2048/4096三种。

fdisk -t ext3 -b 1024 /dev/sda6
  • 挂载文件系统:挂载的过程就是将文件系统和目录树上的某一个目录结合。mount+设备名+挂载点 -t -b同上。
mount /dev/sda6 /root/testmount

5 管理Linux文件系统

  • 查看分区使用情况

  • df:查看文件系统的磁盘空间占用情况 –h以容易理解的格式打印出文件系统大小 –i显示inode信息而非块使用量。

  • du:查看文件或目录的磁盘使用空间 –a显示目录下的每个文件所占的磁盘空间 –s只显示大小的总和 -h以容易理解的格式输出文件大小值

  • 查看系统打开的文件lsof(通常用root打开)

    • Isof filename显示打开指定文件的所有进程
    • Isof –c string显示以指定字符开头的进程所有打开的文件
    • Isof –u username显示所属user相关进程打开的文件
  • 修复文件系统

  • fsck检查文件系统并尝试修复错误。执行fsck时,必须将要修复的设备进行 umount后,再执行fsck命令。

  • e2fsck:检查和修复ext2和ext3文件系统

dumpe2fs查看superblock备份位置

你可能感兴趣的:(08 Linux文件系统管理)