【linux学习指南】磁盘分区挂载到目录,形成文件系统挂载点

请添加图片描述

文章目录

  • 📝前言
  • 🌠 查看系统分区
    • 🌉制作一个大的磁盘块,就当做一个分区
    • 🌉格式化写入文件系统
    • 🌉将分区挂载到指定的目录
    • 🌉在分区重创建文件
    • 🌉卸载分区
    • 🌉分区挂载到目录才能使用
  • 🚩总结


📝前言

在这里插入图片描述
Linux ext2文件系统,上图为磁盘文件系统图(内核内存映像肯定有所不同),磁盘是典型的块设备,硬盘分区被
划分为一个个的block。一个block的大小是由格式化的时候确定的,并且不可以更改。例如mke2fs的-b选项可以设
定block大小为1024、2048或4096字节。而上图中启动块(Boot Block)的大小是确定的

  • Block Group:ext2文件系统会根据分区的大小划分为数个Block Group。而每个Block Group都有着相同的结构组成。政府管理各区的例子
  • 超级块(Super Block):存放文件系统本身的结构信息。记录的信息主要有:bolck 和 inode的总量,未使用的block和inode的数量,一个block和inode的大小,最近一次挂载的时间,最近一次写入数据的时间,最近一次检验磁盘的时间等其他文件系统的相关信息。Super Block的信息被破坏,可以说整个文件系统结构就被破坏了
  • GDT,Group Descriptor Table:块组描述符,描述块组属性信息,有兴趣的同学可以在了解一下
  • 块位图(Block Bitmap):Block Bitmap中记录着Data Block中哪个数据块已经被占用,哪个数据块没有被占用
  • inode位图(inode Bitmap):每个bit表示一个inode是否空闲可用。
  • i节点表:存放文件属性 如 文件大小,所有者,最近修改时间等
  • 数据区:存放文件内容
    在这里插入图片描述

🌠 查看系统分区

[wks@hcss-ecs-ab43 file_patition_lesson]$ ls /dev/vda*
/dev/vda  /dev/vda1
[wks@hcss-ecs-ab43 file_patition_lesson]$ 

这是一种常见的磁盘分区布局。通常情况下:

  • /dev/vda 代表整块磁盘设备
  • /dev/vda1/dev/vda2 等代表这个磁盘设备上划分的不同分区

我这里只有一个/dev/vda1分区,以下查看文件系统的磁盘使用情况:

[wks@hcss-ecs-ab43 file_patition_lesson]$ df -h
df:/tmp/.mount_nvimxPjzYC’: Transport endpoint is not connected
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        909M     0  909M   0% /dev
tmpfs           919M   12K  919M   1% /dev/shm
tmpfs           919M   98M  822M  11% /run
tmpfs           919M     0  919M   0% /sys/fs/cgroup
/dev/vda1        40G  8.0G   30G  22% /
tmpfs           184M     0  184M   0% /run/user/1003
tmpfs           184M     0  184M   0% /run/user/0
[wks@hcss-ecs-ab43 file_patition_lesson]$ 
  1. df -h命令:

    • df是"disk free"的缩写,用于查看文件系统的磁盘使用情况。
    • -h是"human-readable"的缩写,表示以更容易理解的格式(如KB、MB、GB)显示磁盘大小。
  2. 输出结果各个字段的含义:

    • Filesystem: 表示文件系统所在的磁盘分区或设备。
    • Size: 文件系统的总容量。
    • Used: 已使用的容量。
    • Avail: 可用的剩余容量。
    • Use%: 已使用容量的百分比。
    • Mounted on: 文件系统挂载的目录
  3. /dev/vda1 40G 8.0G 30G 22% /这一行:

    • /dev/vda1 表示这是一个名为 vda1 的磁盘分区。
    • 这个分区的总容量为 40GB,已使用 8GB,剩余可用空间 30GB,使用率为 22%。
    • 这个分区被挂载到根目录 / 下。

🌉制作一个大的磁盘块,就当做一个分区

dd 命令是 Linux 和 Unix 系统中非常强大和重要的命令之一。它主要用于以下几个方面:
数据转换和复制:

  • 可以从一个文件或设备读取数据,并将其写入到另一个文件或设备中。
  • 支持各种数据块大小和转换选项,可以实现如镜像备份、磁盘克隆等功能。

dd 命令的语法格式如下:

dd [选项]... [if=文件] [of=文件] [bs=bytes] [count=blocks] [seek=blocks]

其中最常用的几个选项包括:

  • if=: 指定输入文件
  • of=: 指定输出文件
  • bs=: 指定读写的块大小
  • count=: 指定读写的块数
  • conv=: 指定数据转换选项

首先创建目录。制作一个大的磁盘区就当做一个分区。这里使用dd命令。

[wks@hcss-ecs-ab43 file_patition_lesson]$ mkdir disk.iso
[wks@hcss-ecs-ab43 file_patition_lesson]$ dd if=/dev/zero of=./disk.iso bs=1M count=5
5+0 records in
5+0 records out
5242880 bytes (5.2 MB) copied, 0.00503848 s, 1.0 GB/s
[wks@hcss-ecs-ab43 file_patition_lesson]$ 

这段命令输出是在 Linux 系统上使用 dd 命令创建一个 5MB 大小的磁盘镜像文件 disk.iso
dd if=/dev/zero of=./disk.iso bs=1M count=5

  • if=/dev/zero: 指定从 /dev/zero 设备读取输入数据。这个设备会产生无限量的 0 值字节。
  • of=./disk.iso: 指定将输出写入到当前目录下的 disk.iso 文件。
  • bs=1M: 指定每次读写的块大小为 1MB。
  • count=5: 指定读写 5 个块,也就是 5MB 的数据。

🌉格式化写入文件系统

mkfs.ext4 命令用于在磁盘分区或文件上创建 ext4 文件系统。

这个命令的作用如下:

  1. 格式化 disk.iso 文件,将其转换为一个可挂载的 ext4 文件系统。
  2. 在文件系统中写入必要的元数据,如超级块、inode 表、块描述符等。
  3. 初始化文件系统的目录结构,如根目录 / 等。

运行这个命令后,disk.iso 文件就变成了一个可用的 ext4 格式的磁盘镜像文件。你可以将其挂载到系统上,就像挂载一个物理磁盘分区一样使用它。

需要注意的是,在运行 mkfs.ext4 之前,请确保 disk.iso 文件已经创建完成,否则可能会出现错误。另外,如果需要使用其他文件系统类型,可以将 ext4 替换为 ext3xfsbtrfs 等其他文件系统类型。

[wks@hcss-ecs-ab43 file_patition_lesson]$ mkfs.ext4 disk.iso  #格式化写入文件系统
mke2fs 1.42.9 (28-Dec-2013)
disk.iso is not a block special device.
Proceed anyway? (y,n) y//这里y确认

创建空目录

[wks@hcss-ecs-ab43 file_patition_lesson]$ sudo mkdir /mnt/mydisk
[sudo] password for wks: 
[wks@hcss-ecs-ab43 file_patition_lesson]$ ll
total 1152
-rw-rw-r-- 1 wks wks 5242880 Nov  8 20:49 disk.iso

查看可以使用的分区

[wks@hcss-ecs-ab43 file_patition_lesson]$ df -h
df: ‘/tmp/.mount_nvimxPjzYC’: Transport endpoint is not connected
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        909M     0  909M   0% /dev
tmpfs           919M   12K  919M   1% /dev/shm
tmpfs           919M   98M  822M  11% /run
tmpfs           919M     0  919M   0% /sys/fs/cgroup
/dev/vda1        40G  8.0G   30G  22% /
tmpfs           184M     0  184M   0% /run/user/1003
tmpfs           184M     0  184M   0% /run/user/0
[wks@hcss-ecs-ab43 file_patition_lesson]$ 

🌉将分区挂载到指定的目录

disk.iso 文件挂载到 /mnt/mydisk/ 目录下

[wks@hcss-ecs-ab43 file_patition_lesson]$ sudo mount -t ext4 ./disk.iso /mnt/mydisk/
[wks@hcss-ecs-ab43 file_patition_lesson]$ df -h
df:/tmp/.mount_nvimxPjzYC’: Transport endpoint is not connected
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        909M     0  909M   0% /dev
tmpfs           919M   12K  919M   1% /dev/shm
tmpfs           919M   98M  822M  11% /run
tmpfs           919M     0  919M   0% /sys/fs/cgroup
/dev/vda1        40G  8.0G   30G  22% /
tmpfs           184M     0  184M   0% /run/user/1003
tmpfs           184M     0  184M   0% /run/user/0
/dev/loop0      3.9M   53K  3.5M   2% /mnt/mydisk
[wks@hcss-ecs-ab43 file_patition_lesson]$ 
  1. sudo: 使用 root 权限执行此命令,因为挂载文件系统通常需要管理员权限。

  2. mount -t ext4: 指定要挂载的文件系统类型为 ext4。这需要与之前使用 mkfs.ext4 命令创建的文件系统类型一致。

  3. ./disk.iso: 要挂载的磁盘镜像文件的路径。在这里使用了相对路径,表示当前目录下的 disk.iso 文件。

  4. /mnt/mydisk/: 挂载点的目录。这是一个空目录,用于挂载 disk.iso 文件系统。如果该目录不存在,需要先创建它。

执行这个命令后,Linux 系统会将 disk.iso 文件作为一个 ext4 文件系统挂载到 /mnt/mydisk/ 目录下。此时,你就可以像访问普通文件系统一样访问和操作 disk.iso 中的文件和目录了。

接下来我们就可以进去这个分区,路径也就是分区的开头

[wks@hcss-ecs-ab43 file_patition_lesson]$ ll
total 1152
-rw-rw-r-- 1 wks wks 5242880 Nov  8 21:00 disk.iso
[wks@hcss-ecs-ab43 file_patition_lesson]$ cd /mnt/mydisk
[wks@hcss-ecs-ab43 mydisk]$ pwd
/mnt/mydisk

🌉在分区重创建文件

分区中创建文件

[wks@hcss-ecs-ab43 mydisk]$ sudo touch test.txt
[sudo] password for wks:
[wks@hcss-ecs-ab43 mydisk]$ ls -al
total 17
drwxr-xr-x  3 root root  1024 Nov  8 21:07 .
drwxr-xr-x. 4 root root  4096 Nov  8 20:56 ..
drwx------  2 root root 12288 Nov  8 20:49 lost+found
-rw-r--r--  1 root root     0 Nov  8 21:07 test.txt
[wks@hcss-ecs-ab43 mydisk]$ 

🌉卸载分区

当使用umount 卸载分区,会提示系统繁忙,这是因为,你还在这个分区内,只要退出这个分区,就可以进行删除。

[wks@hcss-ecs-ab43 mydisk]$ sudo umount /mnt/mydisk
umount: /mnt/mydisk: target is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
[wks@hcss-ecs-ab43 mydisk]$ df -h
df:/tmp/.mount_nvimxPjzYC’: Transport endpoint is not connected
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        909M     0  909M   0% /dev
tmpfs           919M   12K  919M   1% /dev/shm
tmpfs           919M   98M  822M  11% /run
tmpfs           919M     0  919M   0% /sys/fs/cgroup
/dev/vda1        40G  8.0G   30G  22% /
tmpfs           184M     0  184M   0% /run/user/1003
tmpfs           184M     0  184M   0% /run/user/0
/dev/loop0      3.9M   53K  3.5M   2% /mnt/mydisk
[wks@hcss-ecs-ab43 mydisk]$

切换到别的目录,或者分区,就可以卸载分区,但是回到根目录,想再进行卸载根目录分区,无法做到,因为你切换不到别的分区了
卸载成功:
在这里插入图片描述

🌉分区挂载到目录才能使用

**问题:
你怎么确认你在哪一个分区里面?? ?
多个分区->一个分区包含/->若干个普通目录->/a /b /c /d->
分区无法直接使用,分区必须经过“挂载”到目录上,分区才可以被用通过路径的方式进行访问!
**

当分区只有挂到目录上才能使用,那么任何一个分区,天然有了基本的路径

/dev/loop0      3.9M   53K  3.5M   2% /mnt/mydisk

当我们进去到一个分区挂载到一个目录上时,

cd mnt/XXX

此时,在分区里进行操作分区,创建目录之类的操作,因此一个文件的路径是
由分区+ 自己的操作路径,这就知道pwd是怎么获取到路径是这样来的

mkdir /mnt/XXX/whb/dircd /
cd mnt/XXX/whb/dir

怎么确认我们在哪个分区下呢?

/mnt/mydisk/XXXX/XXXX

当我们的路径从根目录进行解析时,首先解析到/mnt/mydisk/分区就清楚了。


🚩总结

请添加图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Jenkins声明式Pipeline流水线语法示例

系列文章目录 docker搭建Jenkins2.346.3版本及常用工具集成配置(ldap、maven、ansible、npm等) docker安装低版本的jenkins-2.346.3,在线安装对应版本插件失败的解决方法 文章目录 系列文章目录jenkins流水线基础1、pipeline1.1、什么是pipeline?1.2、为什么使用pi…

python机器人Agent编程——实现一个本地大模型和爬虫结合的手机号归属地天气查询Agent

目录 一、前言二、准备工作三、Agent结构四、python模块实现4.1 实现手机号归属地查询工具4.2实现天气查询工具4.3定义创建Agent主体4.4创建聊天界面 五、小结PS.扩展阅读ps1.六自由度机器人相关文章资源ps2.四轴机器相关文章资源ps3.移动小车相关文章资源ps3.wifi小车控制相关…

uni-app打包后报错云服务空间未关联

使用uni-app打包到h5 项目里面用到了uni-app的云端一体城市选择组件,这个组件数据用到了uniCloud云服务空间,在本地运行没问题,打包之后测试环境报错: 一顿查,查到了官网是这样说的: cli publish --platfo…

SpringBoot框架:共享汽车行业的技术升级

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了共享汽车管理系统的开发全过程。通过分析共享汽车管理系统管理的不足,创建了一个计算机管理共享汽车管理系统的方案。文章介绍了共享汽车管理系统的系…

DBAPI连接阿里云 maxcompute 报错

使用正确的驱动包 访问以下链接寻找驱动包 https://github.com/aliyun/aliyun-odps-jdbc/releases/tag/v3.4.3 注意要使用odps-jdbc-3.4.3-jar-with-dependencies.jar ,这个是完整的jar包 不要使用odps-jdbc-3.4.3.jar,这个不是完整的,它还…

【数据集】【YOLO】【目标检测】树木倒塌识别数据集 9957 张,YOLO道路树木断裂识别算法实战训练教程!

一、数据集介绍 【数据集】树木倒塌识别数据集 9957 张,目标检测,包含YOLO/VOC格式标注。 数据集中包含1种分类:{0: fallen_tree},代表倒塌或者断裂的树木。 数据集来自国内外图片网站和视频截图; 可用于无人机树木…

贪心算法day2(最长递增子序列)

目录 1.最长递增子序列 方法一:动态规划 方法二:贪心二分查找 1.最长递增子序列 链接:. - 力扣(LeetCode) 方法一:动态规划 思路:我们定义dp[i]为最长递增子序列,那么dp[j]就是…

基于微信小程序的电子购物系统的设计与实现(lw+演示+源码+运行)

摘 要 由于APP软件在开发以及运营上面所需成本较高,而用户手机需要安装各种APP软件,因此占用用户过多的手机存储空间,导致用户手机运行缓慢,体验度比较差,进而导致用户会卸载非必要的APP,倒逼管理者必须改…

雨晨 23H2 Windows 11 企业版 IE VCDX 适度 22631.4445 (VIP有限开放版本)

雨晨 23H2 Windows 11 企业版 IE VCDX 适度 22631.4445 (VIP有限开放版本) 文 件: 雨晨 23H2 Windows 11 企业版 适度 22631.4445 install.wim 提 取 码: ZZLR 大 小: 2824999564 字节 修改时间: 2024年11月9日, 星期六, 05:33:05 MD5 : 9C88…

OWASP TOP10 OSS 风险:开源软件安全指南

OWASP OSS 列表提供了旨在绕过 CVE 目录等滞后指标的建议,并为安全从业者提供了安全使用 OSS 组件的指南。 在最近的一些暴露的漏洞和风险之后,对开源软件 (OSS)的安全和使用方式进行批判性审视的呼声越来越高,特别是 …

无人机培训机型有哪些?CAAC考证选3类还是4类

无人机培训是一个涵盖多个方面的综合性过程,旨在培养具备无人机操作技能和相关知识的人才。 无人机培训机型 无人机培训通常涵盖多种机型,以满足不同领域和应用场景的需求。常见的无人机培训机型包括: 1. 多旋翼无人机:也称为多…

浏览器漫谈HTML--2.1印象深刻的标签-语义化标签

语义化标签 HTML语义化标签是HTML5引入的一个重要特性 常见的语义化标签&#xff1a; <header>, <nav>, <main>, <article>, <section>, <aside>, <footer> 布局如下 底层实现逻辑&&好处 语义化标签其实底层实现逻辑和…

el-table-column prop值根据数组获取

方法一&#xff1a; 可以给el-table-column添加一个属性&#xff1a;formatter&#xff0c;代码如下&#xff1a; 这里是因为多个列都需要同样的计算&#xff0c;所以使用column.property获取属性&#xff0c;不然可以直接row.属性 方法二&#xff1a; 直接在template scope …

2021-04-22 51单片机玩转点阵

理论就不赘述了,网络上多得很,直接从仿真软件感性上操作认识点阵,首先打开ISIS仿真软件,放置一个点阵和电源与地线就可以开始了;由点阵任何一脚连线到地线,另一边对应的引脚就连接到电源,如图:点击运行看是否点亮?看到蓝色与红色的点表示电源正常但是没有任何亮点,这时对调一下…

数据结构---详解单链表

一、单链表的概念及性质 1、链表的概念 链表是一种物理存储结构上非连续、非顺序的储存结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 我们看上图&#xff0c;一个链表就很像一节节车厢一样&#xff0c;和顺序表不同的是&#xff0c;链表里的每节“…

基于Spring Boot的网上商品订单转手系统设计与实现,LW+源码+讲解

摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装网上商品订单转手系统软件来发挥其高效地信息处理的作用&a…

金蝶云星空与聚水潭系统的数据无缝对接案例

金蝶云星空与聚水潭的其他出库单数据集成案例分享 在企业日常运营中&#xff0c;数据的高效流动和准确处理至关重要。本文将重点介绍如何通过轻易云数据集成平台&#xff0c;实现金蝶云星空系统中的其他出库单数据无缝对接到聚水潭系统。本次集成方案名为“金蝶-其他出库单——…

企业级大数据安全架构

安全架构 一、集群访问控制1.1 Kerberos认证机制1.2 Apache Knox 统一访问网关 二、资源授权管理2.1 Apache Ranger 数据授权与管理 三、服务安全保障3.1 LDAP 轻量目录访问协议 四、大数据安全架构 当谈到企业级大数据平台时&#xff0c;安全性是一个至关重要的方面。随着数据…

cv::intersectConvexConvex返回其中一个输入点集,两个点集不相交

问题&#xff1a;cv::intersectConvexConvex返回其中一个输入点集&#xff0c;但两个点集并不相交 版本&#xff1a;opencv 3.1.0 git上也有人反馈了intersectConvexConvex sometimes returning one of the input polygons in case of empty intersection #10044 是凸包嵌套判…

贪心算法day3(最长递增序列问题)

目录 1.最长递增三元子序列 2.最长连续递增序列 1.最长递增三元子序列 题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a;我们只需要设置两个数进行比较就好。设a为nums[0]&#xff0c;b 为一个无穷大的数&#xff0c;只要有比a小的数字就赋值…