- 文件系统
- 硬盘结构
- 机械硬盘
- 数据写入
- 圆心以放射状的方式分割出磁盘的最小储存单位就是扇区,每个扇区大小为512bytes。而扇区组成的圆就称为磁道,如果多盘片的情况下,在所有盘片的同一磁道就组成了一个柱面
- 机械硬盘转速和使用注意事项
- 由于硬盘内部机械手臂上的磁头与盘片的接触是很细微的空间,如果有抖动或者赃物在磁头与盘片之间的话就会造成数据的丢失或者整个硬盘的损坏
- 数据写入
- 固态硬盘
- 由控制单元和存储单元组成
- 特点
- 读写快、噪音低、防震、轻薄、有写入次数限制、容量较小、价格高; 在固态硬盘中,为了便于理解,也有逻辑上的磁道,扇区的概念
- 机械硬盘
- 硬盘使用流程
- 分区:MBR与GPT
- MBR(主引导分区方式)mbr和gpt的区别:mbr只有4个分区无法创建大于2tb的分区,而gpt分区则没有这样的限制,而且gpt分区提供了分区表的冗余实现分区表的备份和安全
- /lost+found/ 当文件系统发生错误时,将一些丢失的片段放到这个目录下,但是xfs文件系统不产生这个目录
- 主引导记录
- 主引导程序446字节
- 分区表64字节
- 16字节一个分区
- 有效标志符2字节
- 标记MBR是否有效
- 主引导记录
- GPT(全局唯一标识)
- 支持128分区
- 硬盘使用流程
- 1、关机添加硬盘
- 2、
- 对硬盘进行分区
- fdisk命令(用于MBR分区表)
- gdisk命令(用于GPT分区表)
- 对硬盘进行分区
- 3、格式化文件系统
- mkfs
- 4、挂载
- 分区:MBR与GPT
- 文件系统
- 文件系统原理
- super block:超级块,记录每个分区的block的大小、数量
- GDT:组描述符,用于描述组情况。每个组有不同的组描述符
- blockbitmap:块位图
- inodebitmap:inode位图
- inode表:用来快速搜索磁盘上的索引节点
- data block:数据块,保存真实数据的位置
- 创建文件系统
- 日志在写入过程中会记录正在占用哪些block与inode,文件写入完成后,日志就会被清理
- 文件系统格式:ex3、ex4,vfat
- mkfs
- mkfs -t 指定文件系统格式 设备文件名
- xfs文件系统
- 特点
- 单个文件最大支持16tb
- 单个文件系统最大支持8eb
- 从centos7开始文件系统就从ext4变成xfs
- 组成部分
- 数据区
- 文件系统活动登录区
- 类似于日志
- 实时运行区
- 特点
- 相关命令
- xfs_info 展示xfs文件系统的元数据,像inode大小
- meta-data
- data
- realtime
- df -T(查看已挂载分区的文件系统类型)
- lsblk -f 帮助查看设备的文件系统类型,挂载点。uuid
- blkid列出设备的uuid和其他参数 blkid |grep sdb1 》/etc/fstab
- xfs_info 展示xfs文件系统的元数据,像inode大小
- 文件系统原理
- 挂载
- 手动挂载
- mount
- -o
- async/sync异步/同步,默认为异步。
- auto/noauto自动/手动,mount -a 命令执行时,是否会自动安装/etc/fstab文件内容挂载默认自动。
- exec/noexec执行/不执行,设定是否允许在文件系统中执行可执行文件,默认是exec允许。
- remount重新挂载已经挂载的文件系统,一般用于指定修改特殊权限。
- rw/ro读写/只读,文件系统挂载时,是否具有读写权限,默认是rw。
- suid/nosuid具有/不具有SUID权限,设定文件系统是有具有SUID和SGID的权限,
- 自动挂载
- 永久挂载
- 永久挂载
- 1、分区:fdisk、gdisk
- 2、格式化:mkfs.xxxx
- 3、挂载:mount
- 4、写入永久挂载配置文件vim /etc/fstab
- 更合理的挂载
- 1、分区:fdisk、gdisk
- 2、格式化:mkfs.xxxx
- 3、vim /etc/fstab
- 4、mount -a
- 重新挂载/etc/fstab文件内容,检查错误情况
- 永久挂载
- 配置文件写错了
- 重启
- 重启进入字符界面
- 修改/etc/fstab文件
- 有可能需要修改分区权限
- mount -o remount,rw /
- 不重启
- 格式化:mkfs.xxxx
- vim /etc/fstab
- mount -a
- 重启
- 永久挂载
- UUID
- blkid
- 未挂载也显示UUID
- lsblk -f
- /dev/disk/by-uuid/
- 该目录下存放UUID
- 文件系统UUID
- 实际写入/etc/fstab文件的UUID
- blkid
- 查看挂载
- mount(查看挂载选项)
- df -h(查看block大小使用)
- df -i(查看inode号使用情况)
- 手动挂载
- swap分区
- 1、分区
- 2、格式化:mkswap
- 3、挂载
- swapon(开启)
- 4、卸载
- swapoff(关闭)
- free(查看swap分区大小)
- -h(以常见单位显示)
- swap分区可以有多个
- stat
- 查看文件详细信息(如果短时间内频繁修改,那他只记录第一次修改)
- 时间
- 访问时间(查看)用cat查看文件
- 更改时间(内容)用vi打开文件
- 改动时间(属性)用chmod更改权限
- 时间
- 查看文件详细信息(如果短时间内频繁修改,那他只记录第一次修改)
- 硬盘结构
随笔- 177
文章- 0
评论- 0
阅读-
1475
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现