Linux速通07 硬盘分区、格式化及文件系统管理
硬件设备与文件名的对应关系
# 在Linux系统中,每个设备都被当作一个文件来对待
# 各种设备在Linux中的文件名
设备 | 设备在Linux内的文件名 |
IDE硬盘 | /dev/hd[a-d] |
SCSI硬盘 | /dev/sd[a-p] |
U盘 | /dev/sd[a-p](与SCSI硬盘一样) |
CDROM | /dev/sr0 |
硬盘的结构及硬盘分区
# 硬盘分区的好处
* 更容易管理和控制系统,因为相关的文件和目录都放在一个分区中
* 系统效率更高
* 可以限制用户使用硬盘的份额
* 更容易备份和恢复
# 硬盘的逻辑结构
* 一个硬盘逻辑上可以被划分为块、磁道、磁柱和分区
# 块的定义:
* 块时盘盘片上寻址(访问)的最小单位,一个块可以存储一定字节的数据
# 磁道的定义:
* 磁道是由一系列头尾相连的块组成的圆圈
# 磁柱的定义:
* 磁柱是由一叠磁道,由在相同半径上每个盘面的磁道所组成
# 分区的定义:
* 分区是由一组相邻的磁柱所组成
Linux系统中硬盘的分区
# 硬盘分区的分类:硬盘的分区可以分为主分区、扩展分区和逻辑分区
# 主分区的数量:在一个硬盘上最多可以划分出4个主分区
# Linux内核支持每个硬盘上的分区数量是由一定限制的:
* SCSI硬盘上最多可以划分15个分区
* IDE硬盘上最多可以划分63个分区
使用fdisk和partprobe命令来管理磁盘分区
# fdisk命令的功能:创建磁盘分区
# fdisk的常用参数:
* -d:删除一个已存在的分区
* -l:列出已存在的分区类型
* -m:列出fdisk中使用的所有命令
* -n:添加一个新的分区
* -p:列出一个分区表的内容
* -q:退出fdisk,但是不存储所做的变化
* -t:改变分区的id
* -w:退出fdisk并存储所做的变化
# partprobe命令的功能:重新初始化内存中的内核的分区表
创建文件系统(数据的管理)
# 格式化的定义:所谓的格式化指的是将分区中的硬盘空间划分成大小相等的一些数据块(blocks),以及设定这个分区中有多少个i节点可以使用
# 文件系统的定义:文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构,即在磁盘上组织文件的方法
# 常用的文件系统类型:
* ext2:Linux系统中标准的文件系统?
* ext3:一种日志式文件系统
* ext4:一种针对ext3系统的扩展日志式文件系统
* lvm:逻辑盘卷管理
* iso9660:目前唯一通用的光盘文件系统
# mkfs 命令:格式化磁盘
* 例:将分区 /dev/sdb1格式化为ext4文件系统的命令:mkfs.ext4 /dev/sdb1
为一个分区设定分区名
# e2label 命令:设定或查看一个设备的label名称
# 灵活应用e2label命令谁当label:
* 例:查看 /dev/sdb1 分区的label命令:e2label /dev/sdb1
* 例:将 /dev/sdb1 分区的 label谁当为 wg的命令:e2label /dev/sdb1 wg
文件系统的挂载与卸载
# 挂载的定义:挂载指将一个设备(通常是存储设备)挂接到一个已存在的目录上
# mount 命令:实现文件系统的挂载
# 灵活应用 mount命令实现文件系统的挂载:
* 例:将 /dev/sdb1 分区挂载到 /wg目录上:mount /dev/sdb1 /wg
# unmount 命令:实现文件系统的卸载
# 灵活应用 unmount命令实现文件系统的卸载:
* 例:卸载 /wg 上的文件系统的命令:umount /wg
虚拟内存的概念以及设置与管理
# 虚拟内存的定义:所谓虚拟内存是指一块硬盘空间被当作内存使用,也被称为交换分区(swap)
# Linux交换分区的类型:0x82
# mkswap 命令:设置交换分区
# 使用 mkswap命令设置交换分区的用法举例
* 例:将分区 /dev/sdb2设置为交换分区的命令:mkswap /dev/sdb2
# swapon 命令:启动交换分区
# 常用参数:
* -a:启动全部的交换分区
* -s:列出当前正在使用的所有系统交换分区的状态
# 使用 swapon命令的用法举例:
* 例:启用交换分区 /dev/sdb2 的命令:swapon /dev/sdb2
i 节点
# i 节点的定义:i 节点实际上是一个数据结构,存放了有关一个普通文件、目录或其他文件系统对象的基本信息
符号(软)连接
# 符号连接的定义:符号连接是指向另一个文件的一个文件
# ln 命令:创建软连接
* 例:为 wolf/dob.wolf.baby 文件建立一个 dog_wolf.boy符号链接并放在bodydog目录中的命令
* ln -s wolf/dog.wolf.baby bodydog/dog_wolf.boy
硬链接
# 硬链接的定义:一个硬链接(hard link)是一个文件名与一个 i 节点之间的对应关系,也可以认为一个硬链接是在所对应档文件上添加了一个额外的路径名
# ln命令:创建硬链接
* 例:为 wolf/wolf.dog 文件在 backup目录中建立一个名为 wolf.dog2的硬链接命令
* ln wolf/wolf.dog backup/wolf.dog2
Linux系统中的文件类型
# Linux系统中常见的文件类型:
* -:普通文件(regular file),也称为正规文件
* d:目录(directory)
* l:符号(软)链接
* b:块特殊文件,一般指块设备,如硬盘
* c:字符特殊文件,一般指字符设备,如键盘
检查磁盘空间
# df 命令:显示文件系统中磁盘使用和空闲区的数量
* -a:显示所有磁盘
* -h:单位转换
# du 命令:显示目录和文件的大小,-a -h 同上
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗