当前位置: 首页 > news >正文

Linux 磁盘挂载

目录

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 显示磁盘空间…...

命名冲突问题与命名空间

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

Kafka漏洞修复之CVE-2023-25194修复措施验证

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

中后序遍历构建二叉树与应用I

目录 题目描述 思路分析 AC代码 题目描述 按中序遍历和后序遍历给出一棵二叉树&#xff0c;求这棵二叉树中叶子节点权值的最小值。 输入保证叶子节点的权值各不相同。 输入 测试数据有多组 对于每组测试数据&#xff0c;首先输入一个整数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模式&#xff1a;新建的容器和已经存在的一个容器共享一个网络…...

基于jeecgboot的flowable流程增加节点自动跳过功能

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

流程引擎之Activiti简介

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

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): 涵盖各种模型简介对比&#xff0c;适合入门和了解目标检测现状) 注&#xff1a;本文仅供学习&#xff0c;未经同意勿转。分享的PPT请勿二次传播&#xff0c;或者用于其他商用途径。若使用本文PPT请注明来源&#xff0c;感谢配合 前言&…...

Vulnhub-DC-2实战靶场

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

从输入URL到渲染的过程中到底发生了什么?

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

旋转屏幕导致 Fragment 中的 onConfigurationChanged 被调用两次

环境 IDE Android Studio Dolphin 2021.3.1&#xff1b; 项目配置 Android Gradle plugin version: 7.1.3 Gradle Version: 7.2 Gradle JDK: 11 Compile Sdk Version: 32 问题描述 项目使用的 Bottom Navigation Activity 基本结构&#xff0c;在调试程序时发现&#xff0c…...

23年校招DL/NLP/推荐系统/ML/算法基础面试必看300问及答案

2020年校招已经开始了&#xff0c;在疫情全球肆虐的背景下&#xff0c;全球就业情况异常艰难&#xff0c;加上美国对中国企业打压持续升级&#xff0c;对于马上开始秋招找工作的毕业生而言&#xff0c;更是难上加难。我们不能凭一己之力改变现状&#xff0c;但我们可以凭借自己…...

Python基础知识汇总(字符串二)

目录 检索字符串 count()方法 find()方法 in关键字 index()方法 rindex()方法 startswith()方法...

【FPGA】Verilog:实现十六进制七段数码管显示 | 7-Segment Display

写在前面&#xff1a;本章主要内容为理解七点数码管显示的概念&#xff0c;并使用 Verilog 实现。生成输入信号后通过仿真确认各门的动作&#xff0c;通过 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)多版本并发控制机制使用串行化隔离级别时&#xff0c;mysql会将所有的操作加锁互斥&#xff0c;来保证并发安全。这种方式必然降低并发性能。mysql在读已提交和可重复读隔离级别下&#xff0c;对一行数据的读和写两个操作默认是不会通过…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”&#xff0c;无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息&#xff1a; 关注测试号&#xff1a;扫二维码关注测试号。 发送模版消息&#xff1a; import requests da…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat&#xff08;I/O Statistics&#xff09;是Linux系统下用于监视系统输入输出设备和CPU使…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

springboot整合VUE之在线教育管理系统简介

可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生&#xff0c;小白用户&#xff0c;想学习知识的 有点基础&#xff0c;想要通过项…...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业&#xff0c;那宇树科技&#xff08;Unitree&#xff09;必须名列其榜。 最近&#xff0c;宇树科技的一项新变动消息在业界引发了不少关注和讨论&#xff0c;即&#xff1a; 宇树向其合作伙伴发布了一封公司名称变更函称&#xff0c;因…...