重生之我要当云原生大师(十一)访问Linux文件系统

目录

一、解释下文件系统、块设备、挂载点、逻辑卷。

二、简述文件系统、块设备、挂载点、逻辑卷之间的关系?

三、如何检查文件系统?

四、挂载和卸载文件系统的流程?

五、find命令都可以根据什么查找文件。


一、解释下文件系统、块设备、挂载点、逻辑卷。

1. 文件系统(File System)

在 RHEL 中,文件系统是操作系统用于管理文件和目录的机制。RHEL 支持多种文件系统,常见的有:

  • ext4:默认的文件系统,稳定且高效。
  • XFS:适用于大文件和高性能场景,RHEL 7 及以上版本的默认文件系统。
  • Btrfs:支持快照、压缩等高级功能,但尚未成为默认选择。

文件系统负责:

  • 文件和目录的存储与管理。
  • 权限控制(如用户、组、其他用户的读写执行权限)。
  • 元数据管理(如文件大小、创建时间等)。

示例
在 RHEL 中,可以使用以下命令查看文件系统类型:

lsblk -f


2. 块设备(Block Device)

块设备是 RHEL 中用于存储数据的基本单元,通常以固定大小的块(如 4KB)进行读写。常见的块设备包括:

  • 物理硬盘(如 /dev/sda)。
  • 分区(如 /dev/sda1)。
  • 逻辑卷(如 /dev/mapper/vg0-lv0)。

块设备通过设备文件访问,RHEL 中的设备文件通常位于 /dev 目录下

示例
查看系统中的块设备:

lsblk


3. 挂载点(Mount Point)

挂载点是 RHEL 中将文件系统连接到目录树的目录。通过挂载,文件系统的内容可以在挂载点目录下访问。RHEL 中的挂载点通常位于 /mnt 或 /media 目录下,但可以挂载到任何目录

示例
将 /dev/sda1 分区挂载到 /mnt/data:

sudo mount /dev/sda1 /mnt/data

查看已挂载的文件系统:

df -h


4. 逻辑卷(Logical Volume, LV)

逻辑卷是 RHEL 中逻辑卷管理(LVM)的一部分,用于动态管理存储空间。LVM 将物理存储设备(如硬盘或分区)抽象为逻辑卷,提供更灵活的存储管理方式。

LVM 的主要组件:

  • 物理卷(Physical Volume, PV):实际的存储设备(如 /dev/sda1)。
  • 卷组(Volume Group, VG):由一个或多个物理卷组成。
  • 逻辑卷(Logical Volume, LV):从卷组中划分的逻辑存储单元。(后续会详细讲到

优点

  • 动态调整大小(无需重新分区)。
  • 支持快照、镜像等高级功能。
  • 灵活的存储管理。

示例
创建逻辑卷:

  1. 创建物理卷:

sudo pvcreate /dev/sdb1

  1. 创建卷组:

sudo vgcreate vg0 /dev/sdb1

  1. 创建逻辑卷:

sudo lvcreate -n lv0 -L 10G vg0

  1. 格式化并挂载逻辑卷:

sudo mkfs.xfs /dev/vg0/lv0

sudo mount /dev/vg0/lv0 /mnt/data

查看逻辑卷信息:

sudo lvs

二、简述文件系统、块设备、挂载点、逻辑卷之间的关系?
  1. 块设备 是存储数据的物理或虚拟设备(如硬盘、分区或逻辑卷)
  2. 逻辑卷 是从 卷组 中划分的逻辑存储单元,逻辑卷本身也是一种块设备。
  3. 文件系统 创建在 块设备逻辑卷 上,用于管理文件和目录。
  4. 挂载点 是将 文件系统 连接到目录树的目录,用户通过挂载点访问文件系统中的数据。

示例流程

  1. 创建块设备
    • 物理硬盘 /dev/sdb 被分区为 /dev/sdb1。
  2. 创建逻辑卷
    • 将 /dev/sdb1 初始化为物理卷(PV)。
    • 创建卷组 vg0,并将 /dev/sdb1 加入卷组。
    • 从卷组 vg0 中创建逻辑卷 lv0(/dev/vg0/lv0)。
  3. 创建文件系统
    • 在逻辑卷 /dev/vg0/lv0 上创建 XFS 文件系统:

sudo mkfs.xfs /dev/vg0/lv0

  1. 挂载文件系统
    • 将文件系统挂载到 /mnt/data:

sudo mount /dev/vg0/lv0 /mnt/data

  1. 访问数据
    • 用户可以通过 /mnt/data 访问文件系统中的数据。

关系图

块设备(如 /dev/sdb1)

    |

    v

逻辑卷(如 /dev/vg0/lv0)

    |

    v

文件系统(如 XFS)

    |

    v

挂载点(如 /mnt/data)


总结

  • 块设备 提供存储空间。
  • 逻辑卷 在块设备的基础上提供灵活的存储管理。
  • 文件系统 在块设备或逻辑卷上创建,用于管理文件和目录。
  • 挂载点 将文件系统连接到目录树,使用户可以访问数据

三、如何检查文件系统?

  使用df du等命令。

四、挂载和卸载文件系统的流程?

 1. 识别块设备

首先,需要识别系统中可用的块设备(如硬盘、分区或逻辑卷)。

使用 lsblk 查看块设备:

lsblk

输出示例:

  • 这里 sdb 是一个未分区的硬盘,sda3 是一个未挂载的分区。

2. 分区(如果需要)

如果块设备未分区(如 sdb),可以使用 fdisk 或 parted 进行分区。

使用 fdisk 分区:

  1. 启动 fdisk:

sudo fdisk /dev/sdb

  1. 创建新分区:
    • 输入 n 创建新分区。
    • 选择分区类型(主分区 p 或扩展分区 e)。
    • 设置分区大小。
  2. 保存分区表:
    • 输入 w 保存并退出。
  3. 刷新分区表:

sudo partprobe /dev/sdb

  1. 查看分区:

lsblk


3. 格式化文件系统

在分区或逻辑卷上创建文件系统(如 ext4、XFS)。

格式化 ext4 文件系统:

sudo mkfs.ext4 /dev/sdb1

格式化 XFS 文件系统:

sudo mkfs.xfs /dev/sdb1


4. 创建挂载点

挂载点是一个目录,用于访问文件系统的内容。

创建挂载点:

sudo mkdir /mnt/data


5. 挂载文件系统

将文件系统挂载到挂载点。

挂载文件系统:

sudo mount /dev/sdb1 /mnt/data

验证挂载:

使用 df -h 或 lsblk 查看挂载状态:

df -h

或:

lsblk


6. 配置自动挂载(/etc/fstab)

为了在系统启动时自动挂载文件系统,需要编辑 /etc/fstab 文件。

获取文件系统的 UUID:

sudo blkid /dev/sdb1

输出示例:

/dev/sdb1: UUID="1234-5678-90AB-CDEF" TYPE="ext4"

编辑 /etc/fstab:

在 /etc/fstab 中添加一行:

UUID=1234-5678-90AB-CDEF /mnt/data ext4 defaults 0 2

  • 第一列:设备标识(如 UUID 或设备路径)。
  • 第二列:挂载点。
  • 第三列:文件系统类型。
  • 第四列:挂载选项(如 defaults)。
  • 第五列:是否备份(0 表示不备份)。
  • 第六列:是否检查文件系统(0 表示不检查,1 表示根文件系统,2 表示其他文件系统)。

测试 /etc/fstab 配置:

sudo mount -a

重启系统验证:

重启系统后,文件系统会自动挂载。


7. 卸载文件系统

如果需要卸载文件系统,可以使用以下步骤。

卸载文件系统:

sudo umount /mnt/data

验证卸载:

df -h


总结

完整的挂载操作流程如下:

  1. 识别块设备:使用 lsblk 查看块设备。
  2. 分区:使用 fdisk 或 parted 对块设备分区(如果需要)。
  3. 格式化文件系统:使用 mkfs 创建文件系统。
  4. 创建挂载点:创建目录作为挂载点。
  5. 挂载文件系统:使用 mount 挂载文件系统。
  6. 配置自动挂载:编辑 /etc/fstab 实现开机自动挂载。
  7. 卸载文件系统:使用 umount 卸载文件系统。
五、find命令都可以根据什么查找文件。

文件名、文件类型、文件大小、文件权限、文件所有者、文件修改时间、文件内容

同时可以组和条件查找(与、或、非)

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

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

相关文章

NetCore Consul动态伸缩+Ocelot 网关 缓存 自定义缓存 + 限流、熔断、超时 等服务治理 + ids4鉴权

网关 OcelotGeteway 网关 Ocelot配置文件 {//单地址多实例负载均衡Consul 实现动态伸缩"Routes": [{// 上游 》》 接受的请求//上游请求方法,可以设置特定的 HTTP 方法列表或设置空列表以允许其中任何方法"UpstreamHttpMethod": [ "Get", &quo…

星网锐捷 DMB-BS LED屏信息发布系统taskexport接口处存在敏感信息泄露

星网锐捷 DMB-BS LED屏信息发布系统taskexport接口处存在敏感信息泄露 漏洞描述 福建星网锐捷通讯股份有限公司成立于2000年,公司秉承“融合创新科技,构建智慧未来"的经营理念,是国内领先的ICT基础设施及AI应用方案提供商。星网锐捷 DMB-BS LED屏信息发布系统taskexp…

国产高端双光子成像系统的自主突破

近年来,高端科研仪器的国产化受到越来越多的关注。在双光子成像系统这一关键领域,我们基于LabVIEW自主开发了一套完整的解决方案,不仅填补了国内空白,也在功能和性能上达到了国际领先水平。我们的目标是让国内科研机构和医疗行业拥…

Python多版本管理

关注后回复 python 获取相关资料 ubuntu18.04 # ubuntu18 默认版本 Python 2.7.17 apt install python python-dev python-pip# ubuntu18 默认版本 Python 3.6.9 apt install python3 python3-dev python3-pip# ubuntu18 使用 python3.8 apt install python3.8 python3.8-dev#…

详细教程 | 如何使用DolphinScheduler调度Flink实时任务

Apache DolphinScheduler 非常适用于实时数据处理场景,尤其是与 Apache Flink 的集成。DolphinScheduler 提供了丰富的功能,包括任务依赖管理、动态调度、实时监控和日志管理,能够有效简化 Flink 实时任务的管理和部署。通过 DolphinSchedule…

windows安装WSL完整指南

本文首先介绍WSL,然后一步一步安装WSL及Ubuntu系统,最后讲解如何在两个系统之间访问和共享文件信息。通过学习该完整指南,能帮助你快速安装WSL,解决安装和使用过程中的常见问题。 理解WSL(Windows Subsystem for Linux…

kafka专栏解读

kafka专栏文章的编写将根据kafka架构进行编写,即先编辑kafka生产者相关的内容,再编写kafka服务端的内容(这部分是核心,内容较多,包含kafka分区管理、日志存储、延时操作、控制器、可靠性等),最后…

【东莞常平】戴尔R710服务器不开机维修分享

1:2025-02-06一位老客户的朋友刚开工公司ERP服务器一台戴尔老服务器故障无法开机,于是经老客户介绍找到我们。 2:服务器型号是DELL PowerEdge R710 这个服务器至少也有15年以上的使用年限了。 3:客户反馈的故障问题为:…

win10 llamafactory模型微调相关① || Ollama运行微调模型

目录 微调相关 1.微调结果评估 2.模型下载到本地 导出转换,Ollama运行 1.模型转换(非常好的教程!) 2.Ollama 加载GGUF模型文件 微调相关 1.微调结果评估 【06】LLaMA-Factory微调大模型——微调模型评估_llamafactory评估-C…

DeepSeek图解10页PDF

以前一直在关注国内外的一些AI工具,包括文本型、图像类的一些AI实践,最近DeepSeek突然爆火,从互联网收集一些资料与大家一起分享学习。 本章节分享的文件为网上流传的DeepSeek图解10页PDF,免费附件链接给出。 1 本地 1 本地部…

自动驾驶---聊聊传统规控和端到端

1 背景 在自动驾驶领域中,端到端模型的兴起确实对传统的规划控制方法(笔者并不同意网上以Rule-Base称呼传统规控,传统的规控其实也使用了很多优化算法和博弈算法)产生了挑战,但这就意味着传统规控方法就完全没有应用了…

【如何掌握CSP-J 信奥赛中的深搜算法】

CSP-J 信奥赛中的深搜(深度优先搜索)算法是一个重要知识点,以下是一些学习深搜算法的建议: 理解基础概念 定义与原理:深度优先搜索是一种用于遍历或搜索图、树等数据结构的算法。它从起始节点开始,沿着一条…

使用redis实现 令牌桶算法 漏桶算法

流量控制算法,用于限制请求的速率。 可以应对缓存雪崩 令牌桶算法 核心思想是: 有一个固定容量的桶,里面存放着令牌(token)。每过一定时间(如 1 秒),桶中会自动增加一定数量的令牌…

LIMO:少即是多的推理

25年2月来自上海交大、SII 和 GAIR 的论文“LIMO: Less is More for Reasoning”。 一个挑战是在大语言模型(LLM)中的复杂推理。虽然传统观点认为复杂的推理任务需要大量的训练数据(通常超过 100,000 个示例),但本文展…

C++,设计模式,【单例模式】

文章目录 一、模式定义与核心价值二、模式结构解析三、关键实现技术演进1. 基础版(非线程安全)2. 线程安全版(双重检查锁)3. 现代C++实现(C++11起)四、实战案例:全局日志管理器五、模式优缺点深度分析✅ 核心优势⚠️ 潜在缺陷六、典型应用场景七、高级实现技巧1. 模板化…

Mysql基于binlog主从同步配置

主配置: 修改配置文件:/etc/my.cnf 添加server-id1 重启MySQL服务:systemctl restart mysqld 创建用户并授权: mysql> create user rep192.168.79.% identified with mysql_native_password by 123456; Query OK, 0 rows aff…

postman使用简介

在使用非关系数据库,与远端数据库交互时,需要在本地测试程序逻辑。借助postman查询数据。 1、开启本地数据库 绑定资源中,有如下应用程序,双击后可开启数据库服务 2、使用postman 下载后可以打开界面,可以填入远端数…

什么是三层交换技术?与二层有什么区别?

什么是三层交换技术?让你的网络飞起来! 一. 什么是三层交换技术?二. 工作原理三. 优点四. 应用场景五. 总结 前言 点个免费的赞和关注,有错误的地方请指出,看个人主页有惊喜。 作者:神的孩子都在歌唱 大家好…

amis组件crud使用踩坑

crud注意 过滤条件参数同步地址栏 默认 CRUD 会将过滤条件参数同步至浏览器地址栏中,比如搜索条件、当前页数,这也做的目的是刷新页面的时候还能进入之前的分页。 但也会导致地址栏中的参数数据合并到顶层的数据链中,例如:自动…

Baklib重塑内容中台智能推荐系统提高服务质量的策略和实操

内容概要 随着信息技术的飞速发展,企业在内容管理和用户体验方面面临越来越多的挑战。在这个大背景下,内容中台的智能化推荐系统应运而生,Baklib作为一个突出的工具,为企业提供了解决方案。Baklib 是什么类型的工具,它…