Linux --- 文件系统

1. 文件系统的概念

      Linux 文件系统是一种用于管理、存储和组织数据的层次结构,用于在 Linux 操作系统中管理磁盘上的数据存储。它定义了如何在存储介质(如硬盘、固态硬盘或 USB 闪存)上组织文件和目录,以及如何读取、写入和操作这些文件。

1.1 主要特点和概念

1. 层次目录结构:Linux 文件系统采用树形目录结构,所有的文件和目录都从根目录(`/`)开始。根目录下可以有多个子目录,每个子目录下又可以包含文件和其他子目录。这种结构使得文件的组织和访问非常清晰。

2. 挂载点:在 Linux 中,文件系统通过挂载点将不同的文件系统(例如不同的磁盘分区、外部存储设备等)集成到单一的目录树下。挂载点是目录,通过它可以访问挂载的文件系统。

3. 文件类型:
   - 常规文件:存储普通数据,如文本文件、二进制文件等。
   - 目录:包含文件和其他目录的特殊文件。
   - 符号链接(软链接):指向其他文件或目录的引用,类似于 Windows 中的快捷方式。
   - 设备文件:代表系统中的硬件设备,通常位于 `/dev` 目录中。
   - 管道和套接字:用于进程间通信的特殊文件。

4. 文件权限和所有权:每个文件和目录都有与之关联的权限和所有权,确定哪些用户和组可以读取、写入或执行文件。

5. 元数据:文件系统不仅存储文件内容,还存储与文件相关的元数据,如文件大小、创建时间、修改时间、权限、所有者等。

6. 日志记录(Journaling):一些高级文件系统(如 ext4、xfs)支持日志记录,以保护数据免受系统崩溃或断电的影响。

1.2 常见的 Linux 文件系统类型

- ext4:第四代扩展文件系统,是目前最常用的 Linux 文件系统,支持大容量存储和高效的日志记录机制。
- XFS:高性能的 64 位日志文件系统,适合大文件和高并发工作负载。
- Btrfs:新一代文件系统,支持高级功能如快照、压缩和多设备管理。
- FAT32/exFAT:适用于与 Windows 兼容的文件系统,通常用于 USB 驱动器和存储卡。

1.3 功能

- 数据存储和检索:文件系统负责在存储设备上保存和检索数据。
- 存储管理:管理存储设备的可用空间,处理磁盘的分配和碎片整理。
- 数据完整性:确保数据在存储过程中不受损坏,一些文件系统支持数据校验和修复功能。
- 权限管理:管理文件和目录的访问权限,确保系统安全性。

      Linux 文件系统是 Linux 操作系统管理和组织数据的核心组件,它为用户提供了一种高效、安全的方式来存储和访问数据。

2. Linux文件系统的作用

 ‌     Linux文件系统的主要作用包括管理文件和目录的存储和访问,实现从文件名到文件存储物理地址的映射,文件存储空间的分配与回收,以及对文件及目录的管理。

Linux文件系统是Linux操作系统中非常核心的组成部分,它负责管理文件和目录的存储和访问。具体来说,Linux文件系统的作用体现在以下几个方面:

  1. 实现按文件名存取文件信息‌,完成从文件名到文件存储物理地址的映射,这是文件系统最基本的功能之一,它使得用户可以通过文件名方便地访问文件,而无需关心文件的物理位置。
  2. 文件存储空间的分配与回收‌,文件系统需要管理磁盘上的存储空间,包括分配新的文件存储空间和回收不再使用的空间。
  3. 对文件及目录的管理‌,包括创建、删除、重命名文件和目录,以及设置文件的权限等。
  4. 提供操作系统与用户的接口‌,文件系统还提供了用户与操作系统交互的接口,使用户能够通过简单的命令或图形界面来管理和操作文件。
  5. 提供安全性、共享机制等文件自身的服务‌,确保文件的安全性和提供文件共享功能,以满足不同的应用需求。

此外,Linux中的根文件系统特别重要,它包含了操作系统中的所有必要文件和目录,是系统启动时加载的第一个文件系统。根文件系统的健康和稳定对于整个系统的运行至关重要。

综上所述,Linux文件系统通过上述功能和服务,为Linux操作系统提供了一个高效、安全、易于管理的文件和目录管理系统,是Linux系统中不可或缺的重要组成部分‌。

GPT给出:

Linux 文件系统的主要作用是管理数据的存储和组织方式。它负责如何在存储设备(如硬盘、SSD)上存储、检索、组织和管理数据。以下是 Linux 文件系统的一些关键作用:

1. **文件组织和管理**:文件系统定义了文件和目录的结构,使得操作系统和用户能够以层次结构(树状结构)来组织和访问文件。

2. **存储分配**:文件系统决定了如何在磁盘上分配和管理存储空间。它将大块的存储设备分割成更小的块(通常称为块或簇),并管理这些块的分配和回收。

3. **文件和目录权限**:文件系统提供了权限管理机制,允许用户和组对文件和目录设置不同的访问权限(如读、写、执行)。

4. **文件系统挂载**:Linux 文件系统支持挂载功能,允许不同的文件系统(如 ext4、xfs、btrfs)或不同的存储设备(如硬盘分区、USB 设备、网络文件系统)在单一的目录结构下无缝集成。

5. **文件命名和访问**:文件系统管理文件的命名规则和访问方式,确保文件可以通过路径或文件名被唯一标识和访问。

6. **元数据管理**:文件系统管理与文件相关的元数据,例如文件的大小、创建时间、修改时间、权限等。这些元数据帮助操作系统快速检索和管理文件。

7. **容错和数据完整性**:一些文件系统提供了数据完整性检查、错误检测和修复机制,以保证文件存储的可靠性。

8. **日志记录**:某些文件系统(如 ext4、xfs)支持日志记录(journaling),以在系统崩溃或突然断电时,保护文件系统的完整性。

这些功能使 Linux 能够有效地管理数据存储,确保文件的安全、可靠和高效访问。

3. linux 常见文件系统类型

      在 linux 系统中常见的文件系统类型分别为 ext3、ext4、proc 文件系统和 sysfs 文件系统。 ext3 文件系统是从 ext2 发展过来的,而且完全兼容 ext2 文件系统,并且比 ext2 要小, 要可靠。        ext4 文件系统是在 ext3 的基础上改进的,并且 ext4 文件系统在性能和可靠性上都要比 3 的表现更好,而且功能也非常的丰富,并且 ext4 完全兼容 ext3 ,ext3 只支持 32000 个子目 录,但是 ext4 支持无限数量的子目录,所以比 3 更优秀。
      Proc 文件系统,这个文件系统是 linux 系统中特殊的文件系统,实际上只存在于内存中, 是一个伪文件系统,该文件系统是内核和内核模块用来向进程发送消息的机制。

4. ubuntu文件系统类型

4.1 df -T 命令的使用

可以使用“df -T ”命令来打印文件系统的类型。
Filesystem 显示该文件系统的分区,会将所有的设备名称进行打印,如下图所示 :

 /dev/sda5 是 ubuntu 的主分区,Type 是文件系统的类型。所以 ubuntu 的主分区的文件类型就是 ext4。
ext4 上边的 tmpfs 是虚拟内存文件系统。
617629888 这串数字代表的是内存的总和,1k 代表单位。 ext4 和 ext3 它是日志型的文件系统,要比传统型的文件系统安全,因为它可以用独立内容的日志来跟踪磁盘内容的变化,Used 是已经使用的空间大小,Available 这一列是剩余空间大小,Use% 是磁盘使用率。最后一个 Mounted on 是磁盘挂载的目录,这里 /dev/sda5 就挂载到了 / 目录上面。

4.2 df -Th 命令的使用

然后使用命令“df -Th”重新打印文件系统类型信息 ,以更容易读的方式进行显示,如下图所示: 

 第三列就变成了 Size ,将 kb 单位转换成了 G, 这样看起来就更加容易理解了。

4.3 df -h 命令的使用

      如果不想看文件系统的内容,就可以不加 T 参数,直接输入“df -h”命令,这样就能看到 一个磁盘的使用状况。

 

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

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

相关文章

java整合DL645-2007与Dl645-1997

注意事项: 前导字节-一般在传输帧信息前,都要有0~4个FE不等,所以这里要注意,对于主站来说,直接发送4个FE作为前导字节即可。而从站回复,就不一定了,根据厂家不同而不同,有些没有FE的,也有4个FE的,所以对于接受程序,一定要慎重传输次序-所有的数据项都是先传低字节,…

鸿蒙HarmonyOS实战:IPC与RPC设备内进程通信

基本 IPC(Inter-Process Communication)与RPC(Remote Procedure Call)用于实现跨进程通信,不同的是前者使用Binder驱动,用于设备内的跨进程通信,后者使用软总线驱动,用于跨设备跨进…

嵌入式八股-C++面试35题(20240824)

1. 进程和线程的基本概念是什么? 进程:进程是操作系统分配资源的基本单位,是一个正在运行的程序实例。每个进程都有自己的内存空间、文件句柄和其他资源。线程:线程是进程的一个执行单元,是CPU调度和分派的基本单位。…

K8S部署MySQL5.7的主从服务

mysql-slave-0是master mysql-slave-1是备份 当mysql写的时候,找headless service中的 mysql-slave-0.mysql57-slave-headless;当mysql读的时候,找clusterip service中的mysql57-slave-read读,实现读写分离。 statefulset维护两个…

linux文本分析工具grep、sed和awk打印输出文本的单双奇偶行(grep也可以打印奇偶行)以及熟悉的ssh命令却有你不知道的一些用法

一、linux文本分析工具grep、sed和awk打印输出文本的单双奇偶行(grep也可以打印奇偶行) 其实sed和awk要打印输出奇偶行是很容易的事情,不过只能使用grep来输出奇偶行的话怎么实现呢?今天我就想了一下,如果真的只能使用…

【Leetcode 1897 】重新分配字符使所有字符串都相等 —— 数组模拟哈希表

给你一个字符串数组 words(下标 从 0 开始 计数)。 在一步操作中,需先选出两个 不同 下标 i 和 j,其中 words[i] 是一个非空字符串,接着将 words[i] 中的 任一 字符移动到 words[j] 中的 任一 位置上。 如果执行任意…

Latex 插入图片或表格导致页面空白过多

如图所示: Latex 插入图片或表格导致页面空白过多 我们可以采用这个方式来减少空白。 \documentclass{article} \usepackage{graphicx} % 包含图形支持 \usepackage{caption} % 提供更多对caption的控制% 设置标题上方和下方的间距 \setlength{\abovecaptionskip}{…

学习记录:js算法(十二):柱状图中最大的矩形

文章目录 柱状图中最大的矩形我的思路网上思路 总结 柱状图中最大的矩形 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例 1:上图 输入:…

mac 安装Arthas

mac安装有两种方式 1.第一步安装Arthas 第一种: curl -L https://arthas.aliyun.com/install.sh | sh 第二种jar包形式 curl -O https://arthas.aliyun.com/arthas-boot.jar个人比较推荐第一种因为运行测试成功了 第一种安装后可能会出现一些命令不符合 需…

网安新声 | 从微软“狂躁许可”漏洞事件看安全新挑战与应对策略

网安加社区【网安新声】栏目,汇聚网络安全领域的权威专家与资深学者,紧跟当下热点安全事件、剖析前沿技术动态及政策导向,以专业视野和前瞻洞察,引领行业共同探讨并应对新挑战的策略与可行路径。 近期,微软披露了一个最…

CyberScraper-2077+simple-one-api:使用大模型爬虫

大模型相关目录 大模型,包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步,扬帆起航。 swift与Internvl下的多模态大模型分布式微调指南(附代码和数据&#xff…

C语言典型例题50

《C程序设计教程(第四版)——谭浩强》 例题4.2 使用do……while语句循环求1234……100; 代码: //《C程序设计教程(第四版)——谭浩强》 //例题4.2 使用do……while语句循环求1234……100;#incl…

web后端(javaEE)开发——servlet

目录 一、web后端开发概述 二、web后端开发环境搭建 1.安装服务器软件 2.安装JDK 三、创建web后端项目 1.创建项目 2.修改设置 3.*在IDEA中集成Tomcat* 四、Servlet创建和应用 1.概述 2.Servlet程序创建与配置 3.分析Servlet程序结构 一、web后端开发概述 web开发&a…

Flutter ListView 实现不同样式 item

我们在实际开发中会创建显示不同类型内容的列表。以下是使用 Flutter 创建此类结构的方法: 1. 创建包含不同类型项目的数据源。 2. 将数据源转换为小部件列表。 创建包含不同类型项目的数据源 项目类型 要表示列表中不同类型的项目,请为每种类型的项目…

基于STM32开发的智能水箱液位控制系统

目录 引言环境准备工作 硬件准备软件安装与配置系统设计 系统架构硬件连接代码实现 系统初始化液位监测与控制水泵控制与状态显示Wi-Fi通信与远程监控应用场景 家庭用水系统的液位控制工业水箱的液位管理常见问题及解决方案 常见问题解决方案结论 1. 引言 智能水箱液位控制系…

Python----爬虫

开发一个比价系统来监控和分析电商平台的商品价格,可以帮助商家了解市场动态,避免不必要的价格战。这样的系统通常包括以下几个关键组件: 1. 数据抓取(Web Scraping): - 使用爬虫技术从各大电商平台抓取…

最近最少使用数据结构(LRU)

抛开算法刷题的角度&#xff0c;LRU数据结构可根据访问时间远近自动排序&#xff0c;在有些场景下还是很有用的&#xff0c;如统计用户活跃度&#xff0c;API调用热力图分析&#xff0c;缓存块管理等。下面基于c模板提供一个通用的LRU类&#xff0c;以供参考。 #include <f…

初学Python如何快速入门(内附详细攻略),一文讲清

目前python可以说是一门非常火爆的编程语言&#xff0c;应用范围也非常的广泛&#xff0c;工资也挺高&#xff0c;未来发展也极好。 Python究竟应该怎么学呢&#xff0c;我自己最初也是从零基础开始学习Python的&#xff0c;给大家分享Python的学习思路和方法。一味的买书看书…

docker私有仓库创建与推送

仓库创建 1、拉取私有仓库镜像 docker pull registry 2.创建私有仓库容器 docker run -di --name registry -p 5000:5000 -v /data/docker_registry:/var/lib/registry registry-d&#xff1a;后台运行容器&#xff1b;–name&#xff1a;为创建的容器命名&#xff1b;-p&a…

Windows 上设置 MySQL 的主从复制

Windows 上设置 MySQL 的主从复制 一、前言1. 环境准备2. 主服务器配置3. 从服务器配置6. 测试复制7. 注意事项 一、前言 MySQL 主从复制可以在程序中通过以下方式应用&#xff1a; 读写分离&#xff1a;将写操作&#xff08;如插入、更新、删除&#xff09;发送到主服务器&am…