第三章 openEuler 文件系统

news2024/11/27 20:30:47

系列文章目录

第一章 openEuler 安装指南
第二章 openEuler 网络配置
第三章 openEuler 文件系统


文章目录

  • 系列文章目录
  • 前言
  • 一、openEuler中的文件系统
    • 1.整体架构
    • 2.文件系统层次结构
    • 3. FHS定义的一级目录结构
  • 二、常用命令
    • 1. pwd 查看当前所在的目录路径
    • 2. ls 查看当前目录下的所有文件
    • 3. cat 对目标文件进行只读操作


前言

本章主要记录openEuler的文件系统和涉及的常用命令。

一、openEuler中的文件系统

1.整体架构

在openEuler中,文件系统架构如下图所示,进程位于文件系统架构的最上层,它只与虚拟层交互。虚拟层中一个成为虚拟文件系统(Virtual File System,VFS)的中间层充当各类物理文件系统的管理者。VFS抽象了不同文件系统的行为,为用户提供一组通用、统一的API,使用户在执行文件打开、读取、写入等命令时,不用关心底层的物理文件系统类型。在实现层,操作系统可以选择多种物理文件系统(如Ext4、NTFS等)。
openEuler默认采用Ext4文件系统作为实现层的物理文件系统。VFS是用户可见的一棵目录树。实现层的物理文件系统则作为一棵子目录树,挂载在VFS目录树的某个目录上。
整体架构

2.文件系统层次结构

文件系统层次结构标准(File System Hierarchy Standard,FHS)是一种参考标准,它定义了Linux发行版中的目录结构和目录内容。大多数Linux发行版都采用此标准,某些UNIX变体也采用此标准。openEuler(22.03LTS)遵循的是FHS2.3版本。(FHS官方文档地址)
FHS标准对文件做了基本的分类,如静态的、可变的以及可共享的、非共享的,不同类的文件要组织到不同的目录中。

共享文件:保存在一台主机上,但可以被其他主机访问。
非共享文件:只能被其宿主主机访问。
静态文件:一般不需要更新但修改时必须有系统管理员介入的文件,主要包括二进制可执行文件、库、文档、手册等文件。静态文件甚至可以保存到只读介质上,而且一般也不用做备份。
非静态文件:静态文件以外的文件经常会发生变化,如数据库文件、临时文件、日志文件等,这类文件被称为可变文件。

以下为openEuler系统中几类文件的例子:

变化情况共享情况
共享文件/目录非共享文件/目录
静态文件/目录/bin,/lib,/usr,/opt/boot,/etc
可变文件/目录/var/mail,/var/spool/cups/tmp,/var/lock,/var/run

3. FHS定义的一级目录结构

目录描述
/整个VFS文件系统的根目录
/bin可执行文件目录。存放在单用户维护模式下可用的必要命令;面向所有用户,例如cat、ls、cp
/boot存放引导文件的目录。这些引导文件是Linux内核和系统开机所需的配置文件,例如kernel、initrd;该目录通常对应一个单独的分区
/dev存放设备文件(如/dev/null)的目录
/etc配置文件目录
/home用户住目录,包含保存的文件、个人设置等,通常对应一个单独的分区
/lib系统库函数目录,包含目录 /bin/ 和 /sbin/ 中二进制文件所依赖的库文件
/media可移除设备(CD-ROM)的挂载目录
/mnt临时设备的挂载目录
/opt可选软件安装目录,用于安装第三方程序
/proc虚拟文件系统目录,用于在内存中保存数据。例如 uptime、network。在 Linux 中,挂载格式为 procfs
/root超级用户的主目录
/sbin重要可执行文件目录,保存超级用户才能使用的命令,例如 init、ip、mount
/srv互联网站点数据目录,例如保存 FTP、WWW 服务的数据
/tmp临时文件目录,在系统重启时,该目录中的文件不会被保留
/usr系统软件资源目录;包含绝大多数的用户工具和应用程序。注意,其名字不是user的缩写,而是 UNIX Software Resource 的缩写
/var变量文件目录,保存在系统正常运行过程中内容不断变化的文件,如日志、脱机文件和临时电子邮件文件。有时对应一个单独的分区

除此之外,openEuler(22.03 LTS)还有几个其他的目录,如下:

目录描述
/afs新出现的目录,暂时不清楚是否跟AFS系统有关,后续在调整
/lib64系统库函数目录,包含目录 /bin/ 和 /sbin/ 中二进制文件所依赖的库文件(64位)
/lost+found这个目录在使用标准的ext2/ext3文件系统格式时产生的一个目录,目的在于当文件系统发生错误时,将一些遗失的片段放置在该目录。
/run是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件被删除。
/sys虚拟文件系统目录,跟proc类似,用于输出当前系统上硬件设备相关信息的虚拟文件系统

二、常用命令

1. pwd 查看当前所在的目录路径

2. ls 查看当前目录下的所有文件

3. cat 对目标文件进行只读操作

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

算法——各排序算法效率对比和总结

1. 算法效率对比 在此我们使用如下代码来测试各个算法的效率 void TestOP() {srand(time(0));const int N 100000;int* a1 (int*)malloc(sizeof(int) * N);int* a2 (int*)malloc(sizeof(int) * N);int* a3 (int*)malloc(sizeof(int) * N);int* a4 (int*)malloc(sizeof(i…

【TOP生物信息】CNS图表复现,单细胞marker基因展示的另一种方式——蜂巢图

扫码关注下方公粽号,回复推文合集,获取400页单细胞学习资源! 本文共计1359字,阅读大约需要4分钟。 Sten Linnarsson大神的单细胞绘图堪称极致美学,在这里,小编选择了发表在nature上展示marker基因的绘图进…

找不到msvcp140.dll无法继续执行代码,怎么解决?

MSVCP140.dll是一个Windows操作系统中的动态链接库文件,它是Microsoft Visual C Redistributable for Visual Studio 2015的一部分。这些库提供了一些C程序所需的基本功能,例如内存管理、文件操作、字符串处理等等。丢失或者损坏会导致很多软件跟游戏无法…

由浅入深Netty简易实现RPC框架

目录 1 准备工作2 服务器 handler3 客户端代码第一版4 客户端 handler 第一版5 客户端代码 第二版6 客户端 handler 第二版 1 准备工作 这些代码可以认为是现成的,无需从头编写练习 为了简化起见,在原来聊天项目的基础上新增 Rpc 请求和响应消息 Data …

由浅入深Netty代码调优

目录 1. 优化1.1 扩展序列化算法 2 参数调优2.1 CONNECT_TIMEOUT_MILLIS2.2 SO_BACKLOG2.3 ulimit -n2.4 TCP_NODELAY2.5 SO_SNDBUF & SO_RCVBUF2.6 ALLOCATOR2.7 RCVBUF_ALLOCATOR 1. 优化 1.1 扩展序列化算法 序列化,反序列化主要用在消息正文的转换上 序列…

Windows11部署WSL2以及迁移操作系统位置

1 缘起 笔记本电脑Windows 10内存紧张:16 G, 但是,开发需要一些组件,如Redis(Redisearch、ReJson)、MySQL等, 在Linux容器化中部署更方便,易用, 在Windows中通过虚拟机安…

安卓与串口通信-modbus篇

前言 在之前的两篇文章中,我们讲解了串口的基础知识和在安卓中使用串口通信的方法,如果还没看过之前文章的同学们,建议先看一遍,不然可能会不理解这篇文章讲的某些内容。 事实上,在实际应用中,我们很少会…

Tip in/Out变速箱齿轮敲击过程详细分析

Tip in/Out变速箱齿轮敲击过程详细分析(模型由AMEsim例子改造而成,数据均虚构,仅学习用) 1、发动机稳态工况2、Tip in/Out工况3、总结 1、发动机稳态工况 发动机输出力矩: 一轴齿轮驱动力矩(离合器减振器输出力矩&am…

为什么要做问卷调查?企业获得用户心声的捷径

问卷调查作为一种重要的数据收集方法,在市场营销、社会学研究、用户研究等领域得到广泛应用。通过问卷调查,我们可以了解受访者的态度、行为、需求等信息,进而为企业和组织的决策提供支持。那么,为什么要做问卷调查呢?…

大语言模型架构设计

【大模型慢学】GPT起源以及GPT系列采用Decoder-only架构的原因探讨 - 知乎本文回顾GPT系列模型的起源论文并补充相关内容,中间主要篇幅分析讨论为何GPT系列从始至终选择采用Decoder-only架构。 本文首发于微信公众号,欢迎关注:AI推公式最近Ch…

一些云原生开源安全工具介绍

本博客地址:https://security.blog.csdn.net/article/details/130789465 一、Kubernetes安全监测工具kube-bench kube-bench是一个用Golang开发的、由Aqua Security发布的自动化Kubernetes基准测试工具,它运行CIS Kubernetes基准中的测试项目。这些测试…

在 uniapp 中通过 Intent 的方式启动其他APP并且传参

文章目录 前言一、其他软件调用文档中的安卓原生代码二、在uniAPP中实现上述方式三、总结四、感谢 前言 由于业务需求需要,我方研发的安卓APP需要调用其他安卓APP,并且将保存返回的文件存储路径进行读取后操作。对方软件公司提供了对接文档和一个测试调…

docker安装华为gaussdb数据库

docker安装gaussdb docker镜像: http://docker.hub.com/ 这里我们使用docker hub镜像下载,该镜像下载较慢,可能有时访问不同,可以使用阿里云镜像下载,阿里云镜像配置参考《docker国内阿里云镜像加速》 拉取镜像 下载…

程序翻译的过程,linux环境下处理,生成 .i、.s、.o 文件(预处理、编译、汇编、链接)

1. 程序翻译的过程有四个步骤,预处理->编译->汇编->链接。 那么每个步骤是干什么? 预处理阶段:处理-> 头文件、宏替换、条件编译等等,我用 linux 环境查看一下,如下: 首先写一个简单的 .c 文…

【iptables 防火墙设置】

目录 一、iptables概述1、netfilter/iptables 关系 二、四表五链2.1、四表:2.2、五链: 三、规则链之间的匹配顺序四、规则链内的匹配顺序五、iptables的安装配置5.1、安装iptables5.2、配置iptables1、常用的管理选项2、常用的参数3、常用的控制类型4、iptables语法…

ThinkPHP6 模型层的模型属性,表映射关系,以及如何在控制层中使用模型层和模型层中的简单CRUD

ThinkPHP6 模型层的模型属性,表映射关系,以及模型层的CRUD及如何在控制层中使用模型层 1. model 模型层的默认映射规则 模型,即mvc模式中的model层,model层用来对接数据库,操作数据库的增删改查。 在tp6中&#xff…

springboot整合sharding-jdbc实现分库分表详解

目录 一、为什么需要分库分表 1.1 分库分表的优势 二、分库分表基本概念 2.1 垂直分表 2.2 水平分表 2.3 垂直分库 2.4 水平分库 三、分库分表带来的问题 3.1 分布式事务问题 3.2 跨节点关联查询问题 3.3 跨节点分页、排序问题 3.4 主键避重问题 四、分库分表常用…

Java --- 云尚办公之菜单管理模块

一、菜单管理 数据库表: CREATE TABLE sys_menu (id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT 编号,parent_id BIGINT(20) NOT NULL DEFAULT 0 COMMENT 所属上级,name VARCHAR(20) NOT NULL DEFAULT COMMENT 名称,type TINYINT(3) NOT NULL DEFAULT 0 COMMEN…

LSTM预测汇率涨跌分析

前言 本文主要是采用lstm对汇率涨跌进行预测,是一个二分类的预测问题。 步骤解析 数据构造 原始数据是单变量数据 import pandas as pdfile_path r"./huilv.csv" data pd.read_csv(file_path, usecols[1],encodinggbk) data[level] -1 美元 l…

打造高效接口自动化框架,YAML测试用例封装技巧大揭秘!

目录 前言: 一、框架介绍 本框架包含两个部分: 本框架的构建目标是: 二、框架目录结构 三、规范YAML测试用例封装步骤 四、框架使用 五、总结 前言: 本文介绍了一个基于Python和PyTest的接口自动化框架封装项目实战&#…