0x01 Linux系统存储结构

Linux系统中一切文件都是"根(/)"目录开始的,并采取树形结构来存放文件,文件存储结构如下

目录名称文件内容
boot开机所需文件,内核,开机菜单以及所需的配置文件等
dev保存硬件设备文件
etc配置文件
home用户主目录
bin存放单用户模式下可以操作的命令
lib开机时以及/bin和/sbin所要用到的函数库
sbin开机过程中需要的命令
media用于挂载设备文件的目录
opt放置第三方的软件
root系统管理员目录
tmp任何人均可使用的“共享”临时目录
var主要存放经常变化的文件
proc虚拟文件系统
srv一些网络服务的数据文件目录
lost+found系统错误时所丢失的文件片段存放在这里

0x02 物理设备的命名规则

Linux系统中一切都是文件,只要是文件就会存在文件名称,物理设备也不例外,对应名称如下所示

物理设备显示名称
IDE设备/dev/hd[a-d]
SCSI/SATA/U盘/dev/sd[a-z]
打印机/dev/lp[0-15]
光驱/dev/cdrom
鼠标/dev/mouse
  • 系统采用"/dev/sd"表示这是一块SATA硬盘,a-p代表16块不同的硬盘
  • "/dev/sda"表示这是第一块被识别到的SATA硬盘

0x03 Linux分区的概念

硬盘基础知识

为Linux装新硬盘时默认步骤为:分区->格式化->挂载,硬盘设备是由大量的扇区组成的,每个扇区的容量为512字节。其中第一个扇区最重要,它里面保存着主引导记录分区表信息

  • 主引导记录:占用446字节
  • 分区表:占用64个字节
  • 结束符:占用2个字节

分区

一个分区的信息占用16个字节,所以最多有4个主分区
为了解决分区不够的问题,一般会选择使用3个主分区加1个扩展分区的方法,然后在扩展分区中创建出数个逻辑分区,从而来满足多分区(大于4个)的需求,而逻辑分区从5开始

/dev/sda5表示第一个逻辑分区

格式化

使用mkfs命令格式化分区

# 格式分区为ext4的文件系统
[root@Linux ~]# mkfs.ext4 /dev/sdb1

挂载硬件设备

挂载是将存储设备上的文件系统附加到某个操作系统目录中,挂载使得数据源可以在系统中使用,即使它们之间的文件系统不相同!

# 挂载的命令是mount
# 挂载/dev/sdb2到/backup目录
mount /dev/sdb2 /backup

但是挂载完成之后系统重启就会失效,想要持久化挂载需要把挂载信息写入到/etc/fstab文件中,而挂载信息如下所示

信息意义
设备文件一般为设备的路径+设备名称,也可以写UUID
挂载目录指定要挂载到的目录,需在挂载前创建好
格式类型指定文件系统的格式,比如Ext3、Ext4等
权限选项一般设置为defaults
是否自检若为1则开机后自动进行磁盘自检,为0则不自检
# 将文件系统为ext4的硬件设备/dev/sdb2在开机后自动挂载到/backup目录上,并保持默认权限且无需开机自检,则需要在文件中写入
/dev/sdb2 /backup ext4 defaults 0 0