【Linux】磁盘与文件系统管理

目录

一、 磁盘结构

1. 数据结构

2. 物理结构

3. 硬盘的接口类型

二、 如何使用Linux中的磁盘

三、 文件系统

四、 磁盘分区

1. MBR分区

2. 分区的优缺点

3. 磁盘及分区的管理工具

五、格式化与挂载

1. 格式化

2. 挂载

六、实例演示

1. 演示分区格式化挂载

2. 拓展 演示swap分区


一、 磁盘结构

1. 数据结构

  • 扇区:磁盘上的每一个被等分为若干个弧段,这些弧段就是扇区。硬盘的第一个扇区叫引导扇区。一个扇区512字节,是磁盘的最小单位。
  • 磁道:磁盘旋转时,磁头保持位置不变,就会在磁盘表面划出一个圆形轨迹,这即是磁道。
  • 柱面:多个盘片构成的盘组中,由不同盘片的面且处于同一半径圆的多个磁道组成的一个圆柱面。

2. 物理结构

  • 盘片:硬盘有多个盘片,每个盘片有两面。
  • 磁头:每面一个磁头。
  • 硬盘的存储容量=磁头数 x 磁道数 x 每道扇区数 x 每个扇区字节数

3. 硬盘的接口类型

硬盘的重要指标:容量、读写性能

硬盘按数据接口不同,大致分为ATA(IDE)和SATA以及SCSI和SAS,接口速度不是实际硬盘数据传输速度。

(1)ATA(IDE),并口线连接主板和硬盘,抗干扰性弱且排线占用空间大,不利于散热,近乎被SATA取代。

(2)SATA,串口线连接,抗干扰强,支持热插拔等,速度快,纠错能力强。

(3)SCSI,小型机系统接口,广为工作站级个人电脑以及服务器所用,传输时CPU占用率较低,转速快,支持热插拔等。并行接口,早期服务器。

(4)SAS,新一代SCSI,和SATA硬盘相同,都是采用序列式技术来获得更高的传输速度,可达6G/s。

二、 如何使用Linux中的磁盘

分区 ---> 格式化=安装文件系统软件(编译) ---> 挂载

三、 文件系统

文件系统的定义:管理文件的系统(软件)

文件系统的类型:

  • XFS:centos7默认,性能强
  • FAT16、FAT32:最大支持32GB分区,单个文件只支持最大4G
  • NTFS:单个文件最大64G,window默认
  • EXT4:centos6默认

文件系统的修复命令:
fsck.FS_TYPE(文件系统类型)  或

fsck -t FS_TYPE(文件系统类型)

-a 自动修复 -r 交互式修复错误

四、 磁盘分区

1. MBR分区

MBR是主引导记录,位于硬盘第一个物理扇区处,MBR中包含硬盘的主引导程序和硬盘分区表。分区表有4个分区记录区,每个分区记录区占16个字节。

基本特性:

  • MBR是主引导记录446字节,位于硬盘第一个物理扇区,其中包含了主引导程序和硬盘分区表,以512字节大小存储
  • 分区表有4个分区记录区,每个分区记录区占16个字节,共64字节
  • MBR最多支持4个主分区或3个主分区1个拓展分区(拓展分区可包含多个逻辑分区)
  • MBR只支持2GB以下的硬盘

硬盘:对于IDE接口的硬盘设备,表示为“hdX”形式的文件名;而对于SCSI接口的硬盘设备,则表示为“sdX”形式的文件名。其中“X”可以为a、b、c等字母序号。第一个IDE设备为hda,第二个SCSI设备为sdb等。

分区:表示分区时,以硬盘设备的文件名作为基础,在后边添加该分区(主分区、扩展分区、逻辑分区)对应的数字序号即可。例如第一个IDE硬盘中的第一个分区表示hda1、第二个分区表示hda2等。

分区的类别:

  • 主分区:可以直接使用,安装操作系统文件等
  • 拓展分区(特殊的主分区):不能直接使用,需要再划分逻辑分区
  • 逻辑分区:可以直接使用,一般只用于存储文件

主分区的序号为1-4,逻辑分区的序号从5开始

2. 分区的优缺点

分区的好处:加快磁盘的读写速度;便于管理磁盘空间和系统文件;增加数据的安全性

分区的缺点:必须是连续的空间;一旦分好,无法增加或减少空间

3. 磁盘及分区的管理工具

fdisk:对2t及以下分区 推荐 分完区,不保存则不生效 管理MBR分区

gdisk:全支持 推荐 分完区,不保存则不生效 管理GPT分区

parted:全支持 不推荐 即时生效,分完立马生效 高级分区操作,可以是交互或非交互方式

fdisk 设备名 //进入交互页面

fdisk -l查看所有磁盘分区信息
fdisk -l 设备名查看某个磁盘的分区信息
fdisk /dev/sdb(设备名)

进入交互页面对(sdb)磁盘进行分区

​​​​​​​

创建分区后,未出现可以使用 partprobe 刷新检测分区表 partprobe是一个命令行工具,用于重新加载Linux系统中的分区表信息,而无需重新启动系统。通常用于在对磁盘进行分区操作或更改分区表后,立即更新系统对分区的识别。

磁盘命令和一些查看命令

lsblk查看系统中的磁盘和分区状态
blkid查看设备的唯一标识符
partprobe刷新检测分区表
df

显示挂载情况和磁盘剩余情况 -T显示文件系统 -h显示单位​​​​​​​

mount查看所有挂载情况和权限
free查看内存和swap分区buff写缓存cache读缓存
badblocks      设备名查看磁盘的坏道
lscpu查看cpu信息
date看时间
uname -r查看系统内核版本
cat /etc/os-release查看操作系统

五、格式化与挂载

1. 格式化

命令:mkfs -t 文件系统类型 设备名的分区

或        mkfs.文件系统类型 设备名的分区

mkswap 设备名的分区         用于格式化swap分区

2. 挂载

2.1 挂载

命令:mount 设备名 挂载到的目的文件夹

2.2 解挂载

命令:umount 设备名/已被挂载的文件夹路径

​​​​​​​

2.3 挂载的规则

  • 一个挂载点同时挂载了多个设备,只显示最后一个设备的数据,其他设备的数据将被隐藏
  • 一个设备可以同时挂载到多个挂载点
  • 挂载点一般是已存在的空目录

2.4 解决无法解挂载问题

(1)自己在挂载目录时,离开挂载目录即可。

(2)别人在挂载目录时,使用fuser -v 挂载目录路径,可以查看谁在挂载目录,

再使用fuser -km 挂载目录路径,终止所有在正访问指定的文件系统的进程后,

再umount 设备名,来解挂载。

2.5 重新挂载更改权限命令

mount  -o  rw,remount  挂载目录路径
选项功能
rw/ro是否对挂载的文件系统拥有读写权限,rw 为默认值,表示拥有读写权限;ro 表示只读权限。
remount重新挂载已挂载的文件系统,一般用于指定修改特殊权限。

2.6 永久挂载

先使用blkid查看设备的UUID,然后使用vim /etc/fstab进入永久挂载文件进行配置,在末行添加如下:

#设备名/UUID     挂载点     分区类型     权限     0 0设备的UUID    挂载目录路径  文件系统类型 defaults  0 0

保存后,使用mount -a可以直接将配置文件中的挂载项进行挂载。

六、实例演示

1. 演示分区格式化挂载

                                                                    (Centos7系统)

1. 首先添加磁盘

​​​​​​​



注意:

若在做第一步时,虚拟机没有关闭,输入命令lsblk,则看不到新添加的硬盘

需要重启虚拟机,或者输入以下命令,来刷新接口后,再查看即可看到

echo "- - -" >/sys/class/scsi_host/host0/scan
echo "- - -" >/sys/class/scsi_host/host1/scan
echo "- - -" >/sys/class/scsi_host/host2/scan


 


2. 对新磁盘进行分区

再使用lsblk查看

若保存后没有看到新建的分区,则输入partprobe命令来刷新检测分区表,然后再查看即可


3. 格式化分区

​​​​​​​

4. 挂载

mount命令也可以查看是否挂载成功


演示完毕。

2. 拓展 演示swap分区

1. 新增一个4G大小的硬盘

2. 新建分区

3. 修改新建分区的类型

4. 格式化

5. 开启新建的swap分区

先查看现有的swap分区大小

再打开刚刚新建的swap分区

也可以关闭swap分区

6. 配置文件 /etc/fstab

查看新建分区的UUID

编辑配置文件

vim /etc/fstab

保存后,再查看

配置成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/618531.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

吐血整理:大厂Python学习路线,从青铜到王者,从此打卡学习不迷茫

很多朋友都对成为技术大牛有着深深的向往 并有很多技术问题想要解决 因为市面上各种教程质量良莠不齐 而且想要掌握高阶的开发技术 需要耗费大量的时间和精力 现如今每天有数以百万计的人使用 Python ,用户群呈现出指数级增长,几乎没有下降的趋势。 …

基于表面势的增强型p-GaN HEMT器件模型

来源:电子学报 22年 摘要 为了满足功率电路及系统设计对p-GaN HEMT(High Electron Mobility Transistor)器件模型的需求,本文建立了一套基于表面势计算方法的增强型p-GaN HEMT器件SPICE(Simulation Program with Int…

spring-cloud-alibaba微服务Sentinel

Sentinel 官方网站 sentinel-dashboard-1.8.7.jar包下载地址 在window通过命令行启动(java -Dserver.port8080 -Dproject.namesentinel-dashboard -jar sentinel-dashboard-1.8.7.jar),可以通过 -Dserver.port修改控制台的端口 使用的版本最好…

PostgreSQL入门到实战-第二十四弹

PostgreSQL入门到实战 PostgreSQL中表连接操作(八)官网地址PostgreSQL概述PostgreSQL中CROSS JOIN命令理论PostgreSQL中CROSS JOIN命令实战更新计划 PostgreSQL中表连接操作(八) 使用PostgreSQL CROSS JOIN从连接的表中生成行的笛卡尔乘积。 官网地址 声明: 由于操作系统, 版…

AI预测小分子与蛋白的相关特征: MegaMolBART, MoFlow,ESM-1, ESM-2

1、小分子:MegaMolBART, MoFlow 1)MegaMolBART https://github.com/NVIDIA/MegaMolBART 基于 SMILES 的小分子药物发现与化学信息学深度学习模型。 2)MoFlow https://github.com/calvin-zcx/moflow 用flow流方式分子生成 2、蛋白质:ESM-1, ESM-2 https://github.com/fa…

Java GUI制作双人对打游戏(下)

文章目录 前言一、动画是怎么实现的呢?二、根据这个原理 代码是怎么实现的呢?二、代码部分1.角色1(左侧)2.角色2(右侧)补充 最终的包结构效果图: 前言 接上篇:如何在IDEA中使用Java …

Web前端 Javascript笔记3

1、垃圾回收机制 内存中的生命周期 1、内存分配 2、内存使用(读写) 3、内存回收,使用完毕之后,垃圾回收器完成 内存泄漏:该回收的,由于某些未知因素,未释放,叫做内存泄漏 栈&#xf…

C# Window form 自定义控件的结构和设计(三)

C# Window form 自定义控件的结构和设计(三) 一、前面介绍了如何来创建第一个自定义的控件,以及一个测试程序。下面我们来看下如何在自定义控件中添加属性。 C#和其他.NET语言支持属性作为语言的第一类成员。把属性作为语言的基础属性有两点主要的有点&#xff1a…

PoE 技术

1 PoE 技术产生背景 随着 WLAN 、 VoIP 、网络视频监控等新业务的飞速发展,大量的无线 LAN 访问点、 IP 电话、 IP 网络摄像头等基于 IP 的终端出现在工业现场。这些设备通常数量众多、位置特殊 、 布线复杂、设备取电困难,其实施部署不仅消耗大量人力物力,…

karpathy building make more --- 1

1 Introduction 作为一个机器学习的小白,希望和karpathy 大神的这个课程,掌握机器学习的基础概念和方法。 2 任务 根据一个名字文件,做一个起名字的模型。 3 方案1 用统计的方法来实现,我们希望统计每个词的关联性&#xff0…

使用新一代一站式 AI Bot 开发平台扣子coze,搭建我的第一个AI Bot(前端魔法师) ,

目录 1.概述​ 2.功能与优势 3.使用扣子 4.人设与回复逻辑 5.添加插件 6.预览与调试 7.发布bot Store 8.环境大家体验(给大家内置了比较屌的插件) 9.推荐阅读: 1.概述​ 扣子是新一代一站式 AI Bot 开发平台。无论你是否有编程基础…

[Spring Cloud] (2)gateway全局异常捕捉统一返回值

文章目录 处理转发失败的情况全局参数同一返回格式操作消息对象AjaxResult返回值状态描述对象AjaxStatus返回值枚举接口层StatusCode 全局异常处理器自定义通用异常定一个自定义异常覆盖默认的异常处理自定义异常处理工具 在上一篇章时我们有了一个简单的gateway网关 [Spring C…