磁盘的种类
固态硬盘 缺点 怕断电
机械硬盘 缺点 怕撞击
磁盘写入数据流程(新磁盘的使用过程)
1 进行磁盘分区
2 格式化文件系统
3 挂载磁盘
磁道
以盘面半径方向,将盘面分成数量众多的同心圆,这些同心圆就是磁道
扇区
扇面被切割成的扇形区叫做扇区,大小为512字节,是磁盘读取和写入信息的最小单位
柱面
具有相同周长的磁道形成的圆柱称为柱面,柱面数等于磁道数
block块
是虚拟的概念,对于操作系统是有意义的,是磁盘与操作系统之间最小的单位
由于扇区容量太小,数量众多,操作系统读取和写入信息寻址比较困难,所以操作系统就将相邻的扇区组合在一起,形成块,方便操作,1个块由8个扇区组成,大小为4kb
一个block只能存放一个文件的内容,所以文件占用磁盘的大小只能是block的整数倍
磁盘分区的类别
MBR分区 由主分区,扩展分区,逻辑分区构成,只能识别2TB大小的磁盘,最多支持4个主分区
GPT分区 由主分区,逻辑分区构成 磁盘大小无限制,分区数量无限制
硬盘接口类型
sata 个人pc主流接口
sas 系统级专业硬盘接口
msata
m.2
查看磁盘信息命令
lsblk
df -h 能列出磁盘挂载情况及使用率
磁盘分区类型
MBR类型 只能识别2TB大小的磁盘,最多只能有4个主分区,逻辑分区总大小等于扩展分区
GPT类型 无磁盘容量的限制,自带磁盘保护机制,没有扩展分区
硬盘命名规则
OS |
IDE(并口) |
SATA(串口) |
SCSI |
RHEL5 |
/dev/hda |
/dev/sda |
/dev/sda |
RHEL6 |
/dev/sda |
/dev/sda |
/dev/sda |
RHEL7 |
/dev/sda |
/dev/sda |
/dev/sda |
fidsk分区 只能进行MBR类型分区
fdisk -l 列出分区信息
语法 fidsk 磁盘
m 输出帮助信息
a 设置启动分区
b 编辑分区标签
d 删除一个分区
l 列出分区类型
n 建立一个新的分区
o 创建一个新的空白DOS分区表
p 打印分区表
q 退出不保存设置
s 创建一个新的空的SUN标示
t 改变分区的类型
u 改变显示的单位
v 检查验证分区表
w 保存分区表
partx 刷新分区
partx 磁盘 重读磁盘分区表
parted 可转换磁盘类型
parted 设备名
mklabel gpt 转化为gpt类型 mktable gpt 作用相同
mklabel ms-dos 转发mbr类型 mktable ms-dos z
gdisk 磁盘分区命令(进行GPT类型分区)
gdisk 磁盘 用法与fdisk命令相同
各种操作系统支持的文件系统类型
Dev |
FAT32 |
exFAT |
NTFS |
ReFS |
HFS/HFS+ |
APFS |
Ext2/3/4 |
XFS |
Window |
√ |
√ |
√ |
√ |
|
|
|
|
Mac |
|
|
|
|
√ |
√ |
|
|
Linux |
|
|
|
|
|
|
√ |
√ |
|
|
|
|
|
|
|
|
|
不同文件系统的区别
兼容性,不同系统平台,不一定识别、或者无法读写操作
容量大小、支持硬盘最大容量有限制
xfs_info查看xfs文件系统类型分区详细信息
[root@localhost ~]
meta-data=/dev/sda1 isize=512 agcount=4, agsize=12800 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=51200, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
blkid 查看分区uuid号,显示文件系统类型
[root@localhost ~]
/dev/sda3: UUID="8f4197f5-863e-4f07-bb7c-8bccc0618a22" TYPE="xfs"
/dev/sda1: UUID="0aa2660a-ef49-4e91-a295-36e8d94d7552" TYPE="xfs"
/dev/sda2: UUID="a1084af0-ad78-4459-ab96-3caab5d8d1f7" TYPE="swap"
/dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
mkfs 格式化分区文件系统
mkfx.xfs /dev/adb 格式化文件系统为xfs类型
-f 强制格式化
blkid 列出分区详细信息
[root@localhost opt]
/dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/sda1: UUID="0aa2660a-ef49-4e91-a295-36e8d94d7552" TYPE="xfs"
/dev/sda2: UUID="a1084af0-ad78-4459-ab96-3caab5d8d1f7" TYPE="swap"
/dev/sda3: UUID="8f4197f5-863e-4f07-bb7c-8bccc0618a22" TYPE="xfs"
[root@localhost opt]
mount 磁盘挂载
mount 设备名 挂载点
-l 显示系统以挂载的设备信息
-a 加载文件/etc/fstab中设置的所有设备
-t t<文件系统类型> 指定设备的文件系统类型。如果不设置,mount自行选择挂载的文件类型 minix Linux最早使用的文件系统。 ext2 Linux目前的常用文件系统。 msdos MS-DOS 的 FAT。 vfat Win85/98 的 VFAT。 nfs 网络文件系统。 iso9660 CD-ROM光盘的标准文件系统。 ntfs Windows NT的文件系统。 hpfs OS/2文件系统。Windows NT 3.51之前版本的文件系统。 auto 自动检测文件系统。
-o 添加挂载选项,是安全、性能优化重要参数
-r 只读,等于-o ro
-w 读写,等于-o rw
mount -o 选项详解
参数 |
含义 |
async |
以异步方式处理文件系统I/O操作,数据不会同步写入磁盘,而是写到缓冲区,提高系统性能,但损失数据安全性 |
sync |
所有I/O操作同步处理,数据同步写入磁盘,性能较弱,数据安全性高 |
atime/noatime |
文件被访问时是否修改时间戳,不更改时间,可以提高磁盘I/O速度 |
auto/noauto |
通过-a参数可以自动被挂载/不自动挂载 |
defaults |
默认值包括rw、suid、dev、exec、auto、nouser、async,/etc/fstab大多默认值 |
exec/noexec |
是否允许执行二进制程序,取消提供安全性 |
suid/nosuid |
是否允许suid(特殊权限)生效 |
user/nouser |
是否允许普通用户挂载 |
remount |
重新挂载 |
ro |
只读 |
rw |
读写 |
|
|
只读挂载
mount -o ro /dev/sda /mnt
umount 取消挂载
umount 设备名或挂载点
取消挂载条件:无人对挂载磁盘进行读写操作,也无进程在挂载磁盘运行
挂载永久生效
etc/fstab 将挂载信息写入此文件内,按照格式正确写入
作用: 设置设备开机自动挂载,包括了根目录、以及boot启动分区都是在这里设置的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)