辽宁省人民政府发展研究中心/seo技术顾问阿亮
目录
Linux硬盘分区
硬盘设备的文件名 /dev/sd[a-z]
硬盘分区
识别硬盘的文件名
Linux文件系统
文件系统类型
Linux如何保存文件
VFS虚拟文件系统
磁盘挂载命令
lsblk 查看系统的磁盘使用情况
fdisk 硬盘分区
mkfs 格式化文件系统
mount 挂载命令
df 显示磁盘空间使用情况
umount 卸载文件系统
vim /etc/fstab 永久挂载
Linux硬盘分区
硬盘设备的文件名 /dev/sd[a-z]
/dev
根据FHS了解这是一个设备文件
sd
根据udev 这是一个硬盘文件
a-z
指的是识别号码(内核识别硬盘),并不是指插槽的位置,与插槽没有直接关系
此字母是由内核的识别顺序来决定的(而大部分主板的插槽顺序就是系统内核的识别顺序)
即:如果识别码为b,并不代表此硬盘在第二个插槽,也有可能是在第一个插槽
只是代表此硬盘是内核识别的第二个硬盘(硬件设备)
分区的编码
如果硬盘分区后,就会存在分区编号
这个编号并不代表分区的个数,以编号5举例子
5并不代表这是设备上的第5个分区,5只能表示编号为5的分区
根据下述硬盘分区信息可得,编号5一定是逻辑分区
注意:分区的编号可以手工指定,所以编号5也不能表示此硬盘最少有5个分区
硬盘分区
硬盘设备是由大量的扇区(一般一个扇区为512字节)组成的,其中第一个扇区最重要,保存着主引导记录和主分区表信息
其中主引导记录(MRB)占用446字节,主分区表占用64字节(有4个分区,每主个分区16字节),结束符占用2字节
扩展分区的作用
此时我们看到主分区只有4个,这个分区的数量显然是不够的,所以我们设计了扩展分区的概念,扩展分区的作用就是扩展更多的分区
扩展分区与主分区一样都是存在于主分区表中,它会占用一个主分区号(即如果使用扩展分区的话,主分区表中变为3个主分区,1个扩展分区;如果不创建扩展分区的话,主分区表就可以创建4个主分区)
逻辑分区的作用
扩展分区必须分成若干个逻辑分区来使用(扩展分区不存放信息,逻辑分区才存放信息)
扩展分区并不是一个真正的分区,因此扩展分区不能够直接使用,它更像是一个指针,能够指到另一个全新的扇区上面的分区(逻辑分区),通过全新的逻辑分区来存储更多的数据
硬盘分区可以分为三类
主分区(可以马上使用但是不能再分区)
扩展分区(必须再次进行分区后才可以使用(需要再次分为逻辑分区))
逻辑分区(由扩展分区再次分区而建立起来的分区)
注意事项
主分区+扩展分区的数量加起来最多4个(其中主分区最少1个,最多4个;扩展分区最少0个,最多1个);一般为3个主分区+1个扩展分区
逻辑分区的数量没有限制,不过所有逻辑分区加起来的总容量无法超过扩展分区
分区编号
1-4为主分区/扩展分区(主和扩展分区共同占用1-4,即编号1可以为主,也可以为扩展)
5以后的分区为逻辑分区
识别硬盘的文件名
/dev/sda4
表示此硬盘是设备第一个识别的硬盘,并且是编号为4的分区(此分区可能是主分区,也可能是扩展分区)
/dev/sdb6
表示此硬盘是设备第二个识别的硬盘,并且是编号为6的分区(此分区一定是逻辑分区)
Linux文件系统
文件系统类型
RHEL 4 使用ext2文件系统
RHEL 5 使用ext3文件系统
RHEL 6 使用ext4文件系统
RHEL 7 使用xfs文件系统
RHEL 8 使用xfs文件系统
ext2 文件系统
没有日志功能(突然服务器断电、死机会造成数据丢失)
ext3 文件系统
加入了日志功能,不过性能不够
ext4 文件系统
相比于ext3性能提升了,支持的存储量达到1EB
xfs 文件系统
相比于ext4最大的变化就是容量提升了(为了满足云计算、大数据的大容量)
最大支持18EB的存储空间,不过性能与ext4差不多
Linux如何保存文件
Linux并不是直接把文件的内容写入到硬盘中,而是将文件分为两部分保存
通过inode保存文件的权限与属性信息,通过block保存实际的文件内容
inode 记录文件属性和指针
每个文件占用一个独立的inode表格,此表格默认128字节
inode是一串数据,不同文件对应的inode在文件系统里是唯一的
指针:通过指针指向一个block块(占4字节)
文件属性:包括文件的权限(一般权限、特殊权限、隐藏权限)、所有者、所属组、文件大小、、文件最后一次访问时间、文件的修改时间等
block
真正保存数据的数据块(大小一般是1k、2k、4k)
当文件较大时,会有多个block,然后把多个block首尾相连(第一个block结尾作为指针指向第二个block,然后第二个block的结尾也作为指针指向第三个block,依次这样)
注意事项
一个文件被创建后至少会占用一个inode和一个block
文件的inode只能有一个,block有多个
如果block的大小为1k
当文件是1.2k的大小时,会直接占用2个block块
当文件时0.8k的大小时,剩余的0.2k也不能被其它文件使用(即一个block只可以存放一个文件的数据)
VFS虚拟文件系统
VFS为各类文件系统提供了一个统一的操作界面和编程接口,使得用户进行系统调用时不再关心系统的底层文件系统,可以将系统调用指令转为具体文件系统能够读懂的指令
磁盘挂载命令
Linux中硬盘需要挂载之后才可以使用,挂载步骤:添加硬盘-分区-格式化文件系统-挂载
lsblk 查看系统的磁盘使用情况
新加入的硬盘是没有分区和挂载点的
lsblk -a 查看所有磁盘设备的使用情况
lsblk -f 显示磁盘设备的文件系统信息
lsblk -m 查案磁盘设备的归属以及权限信息
lsblk -s 查看系统所有SCSI类型的磁盘信息
fdisk 硬盘分区
可以将磁盘设备划分为多个分区(主、扩展、逻辑)
fdisk -l 查看当前系统分区情况
fdisk 磁盘文件 为此磁盘创建分区(fdisk是交互式的配置方式来配置分区的)
d 删除分区
l 列举分区的标识符
n 新建分区
p 查看此硬盘的分区表
t 修改分区的标识符
w 保存并退出
q 退出
分区类型(p表示主分区、e表示扩展分区,l表示逻辑分区-前提是扩展分区已经创建)
输入结束的扇区时,可以简写 +300M 表示此扇区300M
注意事项
当分区表显示不全时,进行一下操作
使用partprobe更新分区表
如果更新分区表后还是显示不全,此时需要重启系统
如果以上操作都不行,可能是用户的配置错误
通过/dev/sdb为磁盘创建1个5G的主分区,然后创建1个10G的扩展分区,1个5G的逻辑分区
创建5G的主分区
创建10G的扩展分区
创建5G的逻辑分区(逻辑分区的容量是在扩展分区容量中分出来的)
查看分区创建结果并保存退出
mkfs 格式化文件系统
将硬盘分区格式化之后,可以使得Linux系统得知怎样在硬盘上写入数据
格式化文件之前先使用lsblk命令查看磁盘分区情况,如果磁盘分区没有显示出来
需要reboot系统
mkfs.文件系统1 设备1 将设备1格式化为文件系统1
mkfs -t 文件系统2 设备2 将设备2格式化为文件系统2
命令举例
mkfs.xfs /dev/sdb5 将sdb5格式化为xfs文件系统
mkfs -t xfs /dev/sdb1 将sdb1格式化为xfs文件系统
lsblk -f 查看磁盘文件系统
mount 挂载命令
将一个设备文件与目录(挂载点)做关联的动作叫做挂载
只有将设备文件挂载到挂载点之后,此设备才可以被使用
mount 设备1 挂载点1 将设备1挂载到挂载点1
-t 指定挂载的文件类型
命令举例(需要先创建挂载目录 mkdir 目录)
将/dev/sdb1挂载到/media/sdb1目录
将/dev/sdb5挂载到/media/sdb5目录
挂载注意事项
扩展分区不能挂载
当把设备文件挂载到以后内容的目录时,目录的原始文件会被隐藏;当取消挂载后,文件内容还会回来
挂载目录不一定要是/media目录下的子目录,任意目录都可以,只是为了遵循FHS协议,建议挂载到/media目录下
df 显示磁盘空间使用情况
df -a 显示所有系统文件
-h 以容易阅读的方式显示
-t 只显示指定类型的文件系统
-T 输出时显示文件系统类型
umount 卸载文件系统
取消设备与挂载点的关联操作
umount 设备文件名/挂载目录 卸载设备的文件系统
-v 执行时显示详细的信息
-r 尝试以只读的方式重新挂载文件系统
vim /etc/fstab 永久挂载
使用mount命令挂载只是临时生效,重启后挂载点就消失了
我们需要通过编辑/etc/fstab文件来进行永久挂载,让计算机在重启后还可以自动挂载设备文件
文件内容格式
/dev/sdb1 设备命令(绝对路径)
/media/sdb1 设备挂载点(绝对路径)
xfs 挂载的文件系统格式
defaults 权限(defaults为默认)
0 (不要开启自动备份,为1或2表示开启自动备份 数字越小优先级越大)
0 (不要开启自动校验,为1或2表示开启自动校验,数字越小优先级越大)
相关文章:

Linux 磁盘挂载
目录 Linux硬盘分区 硬盘设备的文件名 /dev/sd[a-z] 硬盘分区 识别硬盘的文件名 Linux文件系统 文件系统类型 Linux如何保存文件 VFS虚拟文件系统 磁盘挂载命令 lsblk 查看系统的磁盘使用情况 fdisk 硬盘分区 mkfs 格式化文件系统 mount 挂载命令 df 显示磁盘空间…...

命名冲突问题与命名空间
一、何为命名空间? 首先我们运行下面代码, #include <stdio.h> int rand 0; int main() {printf("%d", rand);return 0; } 我们会发现该代码能够正常运行,没有任何问题。 但是当我们再在上面代码的基础上包含stdlib.h头…...

Kafka漏洞修复之CVE-2023-25194修复措施验证
Kafka漏洞修复之CVE-2023-25194修复措施验证前言风险分析解决方案AdoptOpenJDK Zookeeper Kafka多版本OpenJDK安装切换Zookeeper安装Kafka安装与使用其他Kafka消息发送流程Linux配置加载顺序参考链接前言 场景介绍 Kafka最近爆出高危漏洞CNNVD-202302-515,导致Apa…...

中后序遍历构建二叉树与应用I
目录 题目描述 思路分析 AC代码 题目描述 按中序遍历和后序遍历给出一棵二叉树,求这棵二叉树中叶子节点权值的最小值。 输入保证叶子节点的权值各不相同。 输入 测试数据有多组 对于每组测试数据,首先输入一个整数N (1 < N < 10000)&#x…...

随机退化模型--基础篇(1)
随机退化模型--基础篇(1) 1. 随机退化建模1.1 瞬间失效1.2 存在缓慢退化过程的失效2. 通俗解释2.1 包引入2.2 参数定义2.3 基于递归函数的更新2.4 结果可视化1. 随机退化建模 随机模型亦称“非确定的、概率的模型”,是按随机变量建立的模型。其特点是; 模型参数、模拟对象发…...

2023.2.15工作学习记录 git Docker compose容器编排
关于Git错误提交了target目录 是因为在ignore目录中没有加入biz这个工程 以后提交代码时一定要检查好自己提交的代码 首先把所有的全部取消 然后再根据自己要提交的内容一个个来勾选 Docker网络 container模式:新建的容器和已经存在的一个容器共享一个网络…...

基于jeecgboot的flowable流程增加节点自动跳过功能
为了满足有时候需要在某个节点没有人员处理的时候需要自动跳过,所以增加了这个功能。 一、FlowComment意见里增加一个类型8,跳过流程 /** * 流程意见类型 * */ public enum FlowComment { /** * 说明 */ NORMAL("1", "…...

流程引擎之Activiti简介
背景Activiti 是一个开源架构的工作流引擎,基于 bpmn2.0 标准进行流程定义,其前身是 jBPM,Activiti 相对于 jBPM 更轻量,更易上手,且天然集成了 Spring。2010年 jBPM 创始人 Tom Baeyens 离开 JBoss,随之加…...

4.打包子应用 投票
接上回 最终得到这样的目录 mysite/manage.pymysite/__init__.pysettings.pyurls.pyasgi.pywsgi.pypolls/__init__.pyadmin.pyapps.pymigrations/__init__.py0001_initial.pymodels.pystatic/polls/images/background.gifstyle.csstemplates/polls/detail.htmlindex.htmlresult…...

华为OD机试 - 服务依赖(JavaScript) | 机试题算法思路 【2023】
服务依赖 题目 在某系统中有众多服务,每个服务用字符串(只包含字母和数字,长度<=10)唯一标识,服务间可能有依赖关系,如A依赖B,则当B故障时导致A也故障。 传递具有依赖性,如A依赖B,B依赖C,当C故障时导致B故障,也导致A故障。给出所有依赖关系以及当前已知故障服务…...

目标检测综述(一份全的自制PPT): 涵盖各种模型简介对比,适合入门和了解目标检测现状
[TOC](目标检测综述(一份全的自制PPT): 涵盖各种模型简介对比,适合入门和了解目标检测现状) 注:本文仅供学习,未经同意勿转。分享的PPT请勿二次传播,或者用于其他商用途径。若使用本文PPT请注明来源,感谢配合 前言&…...

Vulnhub-DC-2实战靶场
Vulnhub-DC-2实战靶场 https://blog.csdn.net/ierciyuan/article/details/127560871 这次试试DC-2,目标是找到官方设置的5个flag。 一. 环境搭建 1. 准备工具 虚拟机Kali: 自备,我的kali的IP为192.168.3.129 靶场机: https…...

从输入URL到渲染的过程中到底发生了什么?
CDN缓存DNSTCP三次握手、四次挥手浏览器渲染过程输入URL到页面渲染过程的一些优化 下面我将“从输入URL到渲染的全过程”大概的描述出来,再对其过程加以解释,了解过程中可以做哪些优化。文章内容有点长,需要有足够的耐心看完哟!&…...

旋转屏幕导致 Fragment 中的 onConfigurationChanged 被调用两次
环境 IDE Android Studio Dolphin 2021.3.1; 项目配置 Android Gradle plugin version: 7.1.3 Gradle Version: 7.2 Gradle JDK: 11 Compile Sdk Version: 32 问题描述 项目使用的 Bottom Navigation Activity 基本结构,在调试程序时发现,…...

23年校招DL/NLP/推荐系统/ML/算法基础面试必看300问及答案
2020年校招已经开始了,在疫情全球肆虐的背景下,全球就业情况异常艰难,加上美国对中国企业打压持续升级,对于马上开始秋招找工作的毕业生而言,更是难上加难。我们不能凭一己之力改变现状,但我们可以凭借自己…...

Python基础知识汇总(字符串二)
目录 检索字符串 count()方法 find()方法 in关键字 index()方法 rindex()方法 startswith()方法...

【FPGA】Verilog:实现十六进制七段数码管显示 | 7-Segment Display
写在前面:本章主要内容为理解七点数码管显示的概念,并使用 Verilog 实现。生成输入信号后通过仿真确认各门的动作,通过 FPGA 检查在 Verilog 中实现的电路的操作。 Ⅰ. 前置知识 七段数码管是利用多重输出功能的非常有用的元件。该元件用于字…...

Android开发:Activity启动模式
1.怎样设置Activity的启动模式 可以在清单文件中自己添加活动的启动模式, android : launchMode"standard", 不写的话系统默认就是标准模式. 2.启动模式 2.1.默认启动模式 标准启动模式就是栈, 打开一个活动就将活动压入栈中, 返回就将活动退出栈中. 不同的Activit…...

01_Docker 简介
01_Docker 简介 文章目录01_Docker 简介1.1 Docker 简介1.2 Docker 组件1.2.1 Docker 客户端和服务区1.2.2 Docker 镜像1.2.3 Registry1.2.4 Docker 容器参考资料https://www.runoob.com/docker/ubuntu-docker-install.html 1.1 Docker 简介 Docker 是一个能够把开发的应用程…...

一文精通MVCC机制
MVCC(Multi-Version Concurrency Control)多版本并发控制机制使用串行化隔离级别时,mysql会将所有的操作加锁互斥,来保证并发安全。这种方式必然降低并发性能。mysql在读已提交和可重复读隔离级别下,对一行数据的读和写两个操作默认是不会通过…...

商用ESP32协议采集器源码分享开篇
这是一个关于chatGPT帮助嵌入式程序员开发商业项目的故事. 在开发这个项目的过程中,chatGPT发布了,在它的帮助下,项目开发量减少了10%,所以这个专栏,既是一个关于Micropython开发ESP32的专栏,也是一个程序员在AI的帮助下,提升效率,加速挣钱的案例. 看完之后,你将知道如何用mic…...

代码随想录算法训练营第三十四天 | 860.柠檬水找零,406.根据身高重建队列,452. 用最少数量的箭引爆气球
一、参考资料柠檬水找零https://programmercarl.com/0860.%E6%9F%A0%E6%AA%AC%E6%B0%B4%E6%89%BE%E9%9B%B6.html 根据身高重建队列 https://programmercarl.com/0406.%E6%A0%B9%E6%8D%AE%E8%BA%AB%E9%AB%98%E9%87%8D%E5%BB%BA%E9%98%9F%E5%88%97.html 用最少数量的箭引爆气球ht…...

DDR4介绍01
DDR4(第四代双倍数据率同步动态随机存储器SDRAM) 关于内存方面知识,大部分人、包括我自己也不是很懂,希望此篇文章能起到点作用,做硬件的就得把相关专业知识学牢了,尤其是专业术语。 下面是DDR4知识做一次…...

扫地机器人行业投资逻辑:国内以价换量元年,海外需求企稳回升
1、国内以价换量元年,投资逻辑由产品迭代转向行业的渗透率提升 2019-2022 年国内扫地机行业主要的投资逻辑是产品迭代的价增带动销额增长。 2019-2022 年国内热销的扫地机产品从单机向自清洁扫地机、全能基站扫地机持续迭 代升级,产品功能日益完善、瞄准用户痛点更新,真正实…...

(考研湖科大教书匠计算机网络)第四章网络层-第七节:IPv4数据报首部格式
获取pdf:密码7281专栏目录首页:【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一:IP数据报首部格式概述二:各字段作用概述(1)版本(2)首部长度和可选字段(3&am…...

每天10个前端小知识 【Day 18】
前端面试基础知识题 1.如何实现单行/多行文本溢出的省略样式? 在日常开发展示页面,如果一段文本的数量过长,受制于元素宽度的因素,有可能不能完全显示,为了提高用户的使用体验,这个时候就需要…...

【Java集合类】ArrayList
内部结构 ArrayList内部核心是一个Object数组elementDataObject数组的长度(length)视为ArrayList当前的容量(capacity)size对象表示ArrayList当前的元素个数 类上的重要注释 内部是Object数组 允许put null值,会自动扩容 size、…...

页面置换算法
页面置换算法 在进程运行过程中,若需要访问的物理块不在内存中,就需要通过一定的方式来将页面载入内存,而此时内存很可能已无空闲空间,因此就需要一定的算法来选择内存中要被置换的页面,这种算法就被称为页面置换算法…...

算法导论【在线算法】—The Ski-Rental Problem、The Lost Cow Problem、The Secretary Problem
算法导论【在线算法】The Ski-Rental Problem问题描述在线算法证明The Lost Cow Problem问题描述在线算法类似问题—寻宝藏The Secretary Problem问题描述在线算法The Best Possible kThe Ski-Rental Problem 问题描述 假设你正在上滑雪课。每节课结束后,你决定&a…...

linux 下怎样给pdf 文件加书签
linux 下怎样给pdf 文件加书签 对于没有书签的pdf文件,怎样给pdf加标签呢? 以方便阅读. 以前总是要借助windows下pdf 工具, 叫什么来者? 忘了 记得是编辑一个用tab表示目录级别的文本文件, 有一种直观的感觉,大目录下嵌套着小目录 ..., 然后导入到文件中 linux 下有没有这种…...