【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…

UE C++ 知识杂记

FString、FName与 FText FName&#xff1a;&#xff08;可以有效地存储名称和对资产或对象的引用&#xff09; 它主要用于存储和引用名称&#xff0c;例如对象名称、属性名称和资产名称。引擎中的资源名称都是FName类型&#xff0c;通过一个轻型系统重复使用字符串&#xff0c…

vue3知识点补充第二节

01 自定义Hook 正常的组件&#xff1a;<template><div><img id"img" src"./assets/images/01.png" width"300" height"300"></img></div></template><script>// 导入hook组件 并传递一个…

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

设计原则 研究 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;如何发…

Java基础知识总结(54)

&#xff08;1&#xff09; 手动实现LinkedList LinkedList底层结构实现和ArrayList底层数据结构实现有着本质上的区别 ArrayList底层实现主要依赖数组&#xff0c;而LinkedList底层实现则是依赖链表。 /** LinkedList的实现是双向链表&#xff0c;因此需要定义首节点和尾结点…

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

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

2024/4/12 网络编程day2

OSI模型中的网络层次有哪些&#xff1f; 物理层&#xff0c;数据链路层&#xff0c;网络层&#xff0c;传输层&#xff0c;会话层&#xff0c;表示层&#xff0c;应用层TCP/IP协议族的分层有哪些&#xff1f; 网络接口层&#xff0c;网络层&#xff0c;运输层&#xff0c;应用层…

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

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

前端面试问题汇总 - 浏览器篇

1. 本地存储有哪些&#xff0c;区别是什么&#xff1f; Cookies&#xff08;Cookie&#xff09;&#xff1a; 是存储在用户计算机上的小型文本文件&#xff0c;由网站服务器发送到用户的浏览器&#xff0c;然后在用户访问网站时由浏览器发送回服务器。Cookies 可以用来存储用户…

地球上四大洋介绍

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

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

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

ffmpeg cuda硬件解码后处理使用opengl渲染,全硬件流程

1 ffmpeg 硬件解码 使用硬件解码后不要transfer到内存&#xff0c;使用cuda转化nv12 -> bgr24 转化完毕后cuda里面存了一份bgr24 2 gpumat 和 cuda 互操作 如果需要opencv gpumat直接使用cuda内存&#xff0c;则可以手动构造gpumat 可以使用gpumat的各种函数 uchar3* cu…

6-139 大整数存储-数组

本题要求实现一个函数,实现大整数以整数形式存储。大整数按每4位保存在整数数组中,如果大整数位数不是4的倍数,则将保证低位都按4位一存。如“123456789”保存为1,2345,6789。大整数以字符串形式输入 int convert(char a[],int x[]); 函数接口定义: a 是以字符串形式输…

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

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