硬件设备
Linux 将每一个硬件设备都当成一个文件,放在 /dev 目录下。这些文件有的对应着一个真实存在的物理设备,有的则代表一个虚拟设备,提供一些特定的功能。
物理设备:
/dev/hd[a-d] : IDE 硬盘,现在都不用 IDE 硬盘了
/dev/sd[a-p] : SATA 硬盘 / SCSI 硬盘 / U盘
/dev/cdrom : 光盘
sda: 第一块 SCSI 硬盘
sdb: 第二块 SCSI 硬盘
sda1: 第一块 SCSI 硬盘的第一个分区
sda2: 第一块 SCSI 硬盘的第二个分区
虚拟设备:
/dev/null : 黑洞,任何输入到这个“设备”的数据都将被直接丢弃,最常用的用法是把不需要的输出重定向到这个文件
echo 'hello world' > /dev/null
/dev/zero : 零设备,可以无限的提供空字符(0x00,ASCII代码NUL),常用来生成一个特定大小的文件
dd if=/dev/zero of=./output.txt bs=1024 count=1
拿到一块新的硬盘,需要按顺序进行以下工作之后才能使用:
-
分区:将一块硬盘划分出几个逻辑区域,每个分区相当于一个硬件设备
# 查看分区 fdisk -l # 将 sdb 硬盘分区 fdisk /dev/sdb # 更新分区信息 partprobe
-
格式化:对每个分区都要进行格式化,清除原有数据,写入文件系统
# 将 /dev/sdb1 分区进行格式化 mkfs.xfs /dev/sdb1
-
挂载:将硬件设备的文件系统和 Linux 系统中的文件系统,通过指定目录(作为挂载点)进行关联
# 修改 /etc/fstab 文件,添加将新分区的挂载信息 /dev/sdb1 /mnt/data xfs defaults 0 0 # 重新挂载 mount -a # 查看挂载信息 df -Th
磁盘分区
将一块物理硬盘划分出几个分区,每个分区相当于一个物理设备,每个分区都要有一个文件系统。
一块硬盘最多划分为 4 个主分区 sda1 - sda4,如果主分区不够用的,就拿出一个主分区作为扩展分区,该扩展分区可以再划分为若干个逻辑分区。
- s scsi 硬盘 服务器硬盘 支持热插拔的那种
- h ide 硬盘
- d disk 磁盘
- a 服务器中第一块磁盘
- 1 第一块磁盘中第一个主分区
/dev/sda1 #服务器中第一块scsi硬盘中第一个主分区
/dev/hdb4 #服务器中第二块ide硬盘中第四个主分区
/dev/sda5 #服务器中第一块scsi硬盘中第一个逻辑分区
三分区:
/dev/sda1 /boot #放启动文件 #1G
/dev/sda2 / #根目录 #6G
swap分区 #swap分区,虚拟内存系统 #1G
命令
fdisk -l
查看磁盘分区
fdisk 磁盘名称
对磁盘进行分区,交互式命令
partprobe
更新分区信息,让所有软件都能知道这个新分区,并且知道文件系统
# 对 /dev/sdb 磁盘进行分区
fdisk /dev/sdb
选项列表:
- m 帮助
- n 新建分区(e 扩展分区,p 主分区 ,l逻辑分区)
- p 查看分区
- w 保存分区
- t 改变分区文件系统(83 ext3日志文件系统,8e lvm逻辑卷,fd raid磁盘阵列) l
- d 删除分区
# 更新分区信息
partprobe
# 查看分区信息
fdisk -l
格式化
删除物理设备的原始数据,并且写入指定的文件系统到物理设备中。新的分区如果不格式化,挂载的时候会报错。
命令
mkfs.系统类型 磁盘分区
# 将 /dev/sdb1 分区格式化为 xfs 文件系统
mkfs.xfs /dev/sdb1
# 将 /dev/sdb2 分区格式化为 ext4 文件系统
mkfs.ext4 /dev/sdb2
挂载
将硬件设备的文件系统和 Linux 系统中的文件系统,通过指定目录(作为挂载点)进行关联。挂载点一般为空目录。
/etc/fstab
系统启动时会读取 /etc/fstab 文件,将列出的文件系统自动挂载到对应目录。可以修改 /etc/fstab 文件来设置某个文件系统的自动挂载,修改了 /etc/fstab 文件之后,需要重启操作系统,或者使用 mount -a
命令。
/etc/fstab 文件内容:
/dev/mapper/centos-root / xfs defaults 0 0
UUID=e29c5ef4-baa4-4821-a076-81209ad0985d /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
各个字段的含义:
- 用来挂载每个文件系统的分区设备文件名或 UUID(用于指代设备名)
- 挂载点
- 文件系统的类型 ext4 xfs 等
- 各种挂载参数,和 mount 命令的特殊选项一致,一般填写 defaults
- 指定分区是否被 dump 备份,一般填写 0
- 指定分区是否被 fsck 检测,一般填写 0
命令
mount
查看挂载列表
mount 设备文件 挂载目录
临时挂载,重启之后不会自动挂载
umount 设备文件或挂载目录
临时取消挂载
mount -a
对 /etc/fstab 文件中的挂载列表进行挂载,常用于修改 fstab 文件之后不重启就进行挂载
mount /dev/sdb1 /mnt/data
mount /dev/cdrom /mnt/cdrom
# 查看挂载信息
df -Th
# 以下两个命令作用相同
umount /dev/cdrom
umount /mnt/cdrom