Linux入门-分区介绍

1 设计思想

  • 一切皆文件

    Linux中所有内容都是以文件的形式保存和管理的,即一切皆文件,普通文件是文件,目录(Windows下称为文件夹)是文件,硬件设备(键盘、监视器、硬盘、打印机)是文件,就连套接字(socket)、网络通信等资源也都是文件

  • 好处

    • 统一接口、便于开发者开发移植
  • 坏处

    • 任何硬件设备都必须与根目录下某一目录执行挂载操作,否则无法使用

2 挂载

  • Windows
    • 通常指给磁盘分区分配一个盘符(C、D、E、F盘等)
    • 一般通过系统中“计算机管理”中的“磁盘管理”来进行
    • 第三方软件,如磁盘分区管理软件、虚拟磁盘软件等也附带挂载功能
  • Linux
    • 指将一个设备(通常是存储设备,如硬盘、光驱等)挂载到一个已存在的目录上
    • 挂载条件
      • 挂载点必须是一个目录
      • 一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录以前的内容将不可用:如将sda1挂载到/上后,在创建了一个文件touch /tmp/test/test1,这时如果把sda2挂载到/tmp/test/这个目录上后,若访问cat /tmp/test/test1则会擦看sda2下面的test1文件,而不是sda1下/tmp/test/目录下的test1文件

3 分区表

3.1 MBR

Linux入门-分区介绍

  • 第一个扇区(512bytes)

    • 主引导记录(Master Boot Record,MBR):446bytes,启动引导程序的地方
    • 分区表(partition table):64bytes,记录整块硬盘分区的状态,每16bytes存放一个分区信息,所以只能写入四组分区信息
    • 结束标识:2bytes,十六进制码:55 aa
  • 分区类型

    • 主要分区:分区信息直接记录到主分区表中,最多只能由四块
    • 扩展分区:最多只有一个,即将主分区表中最后一块空间用于存放逻辑分区的信息,最多只能有一个,且不能被格式化
    • 逻辑分区:分区信息记录在扩展分区表中,用于弥补只能分4个主分区的缺陷
  • 分区命名

    • P1:/dev/sda1
    • P2:/dev/sda2
    • P3:/dev/sda3
    • L1:/dev/sda5
    • L2:/dev/sda6
    • L3:/dev/sda7

    可以看到设备文件名中没有/dev/sda4,这是因为前四个号码是保留给主要分区或扩展分区用的,若需要使用逻辑分区,sda4就被用作扩展分区,逻辑分区从sda5开始

  • 最大支持硬盘2TB

    • 由于每组分区表只有16bytes,而记录分区扇区数仅有最后4bytes,所以按每块扇区512bytes来算,最大分区存储量=2^(4×8)×512=2TB

3.2 GUID PT

  • 支持分区128个
  • 最大支持硬盘大小18EB
  • 需要硬件和操作系统都支持UEFI
    • win8
    • win10

4 路径

定义:用于描述文件在目录结构中的位置。根据描述方式可以分为:

  • 绝对路径:从 / 开始的路径
  • 相对路径:相对于当前目录的路径
    • . 当前目录(工作目录)
      • 查看当前目录 pwd
      • 用户登录后默认目录为家目录
        • 普通用户:/home/USERNAME
        • root用户:/root
    • .. 上一级目录

5 文件系统

定义:分区上文件的组织方法和数据结构

5.1 Windows

  • exFAT
  • NTFS
  • FAT32:用4bytes(32bits)来表示每个扇区配置文件的情况,所以单个最大文件大小为2^32bits=4GB

5.2 Linux

  • xfs
  • ext4
  • ext3
  • ext2

5.3 其他文件系统

  • 光驱:iso9660
  • u盘:exfat、ntfs、fat32等