【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.mzph.cn/news/816011.shtml

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

相关文章

24年大一4月14日训练(东北林业大学)

前言&#xff1a; 今晚的5道题。 正文&#xff1a; Problem:A宋哥猜拳(2)&#xff1a; #include<bits/stdc.h> using namespace std; int main(){int t;cin>>t;while(t--){string x;cin>>x;int a0,b0,c0,lx.length();// cout<<l;for(int i0;i<l;i…

反射与动态代理

一、反射 什么是反射? 反射允许对成员变量&#xff0c;成员方法和构造方法的信息进行编程访问 1.获取class对象的三种方式 Class这个类里面的静态方法forName&#xff08;“全类名”&#xff09;&#xff08;最常用&#xff09; 通过class属性获取 通过对象获取字节码文件对…

20240414,类的嵌套,分文件实现

笑死&#xff0c;和宝哥同时生病了 一&#xff0c;封装-案例 1.0 立方体类 #include<iostream>//分别用全局函数和成员函数判定立方体是否相等 using namespace std;class Cube { public:int m_area;int m_vol;int geth(){return m_h;}int getl() { return m_l; }int…

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

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

Flutter第八弹 构建拥有不同项的列表

目标&#xff1a;1&#xff09;项目中&#xff0c;数据源可能涉及不同的模版&#xff0c;显示不同类型的子项&#xff0c;类似RecycleView的itemType, 有多种类型&#xff0c;列表怎么显示&#xff1f; 2&#xff09;不同的数据源构建列表 一、创建不同的数据源 采用类似Rec…

【设计模式】六大设计原则

设计原则 研究 23 种设计模式是困难的&#xff0c;甚至是没必要的六大设计原则零、单一职责原则开闭原则里氏代换原则依赖倒置原则接口隔离原则迪米特法则合成复用原则 研究 23 种设计模式是困难的&#xff0c;甚至是没必要的 设计模式有23种&#xff0c;我认为对普通人来说想…

快速寻找可以构建出网通信隧道的计算机

点击星标&#xff0c;即时接收最新推文 本文选自《内网安全攻防&#xff1a;红队之路》 扫描二维码五折购书 为加强内网的安全防范&#xff0c;安全管理员往往会限制内网计算机访问互联网&#xff0c;当然不同机构的限制策略是不一样的&#xff0c;有的完全阻断了内网计算机访问…

如何发布自己的Python库?

Python包发布 1、背景概述2、操作指南 1、背景概述 为什么我们要发布自己的Python库&#xff1f;如果你想让你的Python代码&#xff0c;通过pip install xxx的方式供所有人下载&#xff0c;那就需要将代码上传到PyPi上&#xff0c;这样才能让所有人使用 那么&#xff0c;如何发…

群晖双硬盘实时备份(WebDAV Server+Cloud Sync)

安装和设置 WebDAV Server WebDAV 是一种基于HTTP的协议扩展&#xff0c;它允许用户在远程Web服务器上进行文档的编辑和管理&#xff0c;就如同这些文件存储在本地计算机上一样。使用WebDAV&#xff0c;用户可以创建、移动、复制和修改文件和文件夹。 安装和设置 Cloud Sync…

使用 Prometheus 在 KubeSphere 上监控 KubeEdge 边缘节点(Jetson) CPU、GPU 状态

作者&#xff1a;朱亚光&#xff0c;之江实验室工程师&#xff0c;云原生/开源爱好者。 KubeSphere 边缘节点的可观测性 在边缘计算场景下&#xff0c;KubeSphere 基于 KubeEdge 实现应用与工作负载在云端与边缘节点的统一分发与管理&#xff0c;解决在海量边、端设备上完成应…

地球上四大洋介绍

地球上四大洋的分布是&#xff1a; 太平洋&#xff1a;太平洋是世界上最大的海洋&#xff0c;覆盖了约三分之一的地球表面。它位于亚洲、澳大利亚、美洲和南极洲之间。太平洋的面积约为1.6亿平方公里&#xff0c;拥有世界上最深的点——马里亚纳海沟。 大西洋&#xff1a;大西…

2024HW --> 安全产品 Powershell无文件落地攻击

在HW中&#xff0c;除了了解中间件&#xff0c;web漏洞&#xff0c;这些攻击的手法&#xff0c;还得了解应急响应&#xff0c;安全产品&#xff0c;入侵排查&#xff0c;溯源反制...... 那么今天&#xff0c;就来说一下安全产品&#xff08;安全公司我就不说了&#xff0c;这个…

001vscode为什么设置不了中文?

VSCode中文插件安装 在VSCode中设置中文的首要步骤是安装“Chinese (Simplified) Language Pack for Visual Studio Code”扩展插件。这一过程十分简单&#xff0c;只需打开VSCode&#xff0c;进入扩展市场&#xff0c;搜索“ Chinese (Simplified) Language Pack ”然后点击…

【MATLAB源码-第49期】基于蚁群算法(ACO)算法的栅格路径规划,输出最佳路径图和算法收敛曲线图。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 蚁群算法是一种模拟自然界蚂蚁觅食行为的启发式优化算法。在蚁群系统中&#xff0c;通过模拟蚂蚁之间通过信息素沟通的方式来寻找最短路径。 在栅格路径规划中&#xff0c;蚁群算法的基本步骤如下&#xff1a; 1. 初始化: …

MES实施优势有哪些?MES制造执行系统的主要内容

各个行业之间也开始进入到了激烈的竞争当中&#xff0c;很多企业为了能够有效提升企业竞争力&#xff0c;都会通过提升自身实力的方式来提升竞争力。一些制造业也会在经营过程当中使用到MES系统&#xff0c;那么&#xff0c;mes系统的优势有哪些呢&#xff1f; 1、优化企业现场…

mysql dump导出导入数据

前言 mysqldump是MySQL数据库中一个非常有用的命令行工具&#xff0c;用于备份和还原数据库。它可以将整个数据库或者特定的表导出为一个SQL文件&#xff0c;以便在需要时进行恢复或迁移。 使用mysqldump可以执行以下操作&#xff1a; 备份数据库&#xff1a;可以使用mysqld…

ELK日志分析系统+Filebeat

目录 一、Filebeat介绍 1、Filebeat简介 2、Filebeat的工作方式 3、filebeat工作流程 4、Filebeat的作用 5、filebeat的用途 1.为什么要用filebeat来收集日志&#xff1f;为什么不直接用logstash收集日志&#xff1f; 2.filebeat和logstash的区别 二、部署(ELFK)Fileb…

自动化测试Junit

1.什么是Junit JUint是Java编程语言的单元测试框架&#xff0c;用于编写和运行可重复的自动化测试。 JUnit 促进了“先测试后编码”TDD的理念&#xff0c;强调建立测试数据的一段代码&#xff0c;可以先测试&#xff0c;然后再应用。这个方法就好比“测试一点&#xff0c;编码一…

【SERVERLESS】AWS Lambda上实操

通过Serverless的发展历程及带给我们的挑战&#xff0c;引出我们改如何改变思路&#xff0c;化繁为简&#xff0c;趋利避害&#xff0c;更好的利用其优势&#xff0c;来释放企业效能&#xff0c;为创造带来无限可能。 一 Serverless概述 无服务器计算近年来与云原生计算都是在…

OSPF星型拓扑和MGRE全连

一&#xff0c;拓扑 二&#xff0c;要求 1&#xff0c;R6为ISP只能配置IP地址&#xff0c;R1-R5的环回为私有网段 2&#xff0c;R1/4/5为全连的MGRE结构&#xff0c;R1/2/3为星型的拓扑结构&#xff0c; 3&#xff0c;R1为中心站点所有私有网段可以互相通讯&#xff0c;私有网段…