❀Linux基础IO
前言:在Linux操作系统的广阔世界中,文件管理无疑是基石之一,它支撑着整个系统的稳定运行与高效运作。无论是日常办公、软件开发、服务器管理还是大数据处理,都离不开对文件系统的深入理解和熟练操作。因此,掌握Linux基础IO中的文件管理技能,对于每一个Linux用户、系统管理员以及开发者而言,都是至关重要的
本文旨在为读者提供一个全面而深入的Linux基础IO中文件管理的学习指南。通过本文的学习,读者将能够掌握Linux文件系统的基本原理
让我们一同踏上这段学习之旅,探索Linux文件管理的奥秘吧!
📒1. 文件管理系统
管理没有被打开的文件的核心操作是:快速定位文件
文件 = 属性 + 内容
文件存放在磁盘中,方便OS/用户对文件进行管理
📚2. 磁盘
盘面俯视图:
扇区是磁盘中的最小存储单元 — 512字节(部分4KB)
基本构成
磁盘存储的逻辑抽象结构
注意:操作系统也可以按照扇区为单位进行存取,也可以基于文件系统按照块为单位进行数据 存取
📜3. 文件管理
关于文件:
🌞inode
那么到底什么是inode,我们通过Linux操作系统来看一下,我们先创建几个文件和目录,然后输入指令 ls -li
文件属性多了一串数字,而这些属性就是inode
,保存文件属性也是通过inode
保存的
inode的基本概念
比特位的位置表示block编号,来判断对用位置block
是否被使用
创建一个新文件主要有一下4个操作:
-
- 存储属性
内核先找到一个空闲的i节点(这里是263466)。内核把文件信息记录到其中
- 存储属性
-
- 存储数据
该文件需要存储在三个磁盘块,内核找到了三个空闲块:300,500,800。将内核缓冲区的第一块数据复制到300,下一块复制到500,以此类推
- 存储数据
-
- 记录分配情况
文件内容按顺序300,500,800存放。内核在inode上的磁盘分布区记录了上述块列表
- 记录分配情况
-
- 添加文件名到目录
新的文件名abc。linux如何在当前的目录中记录这个文件?内核将入口(263466,abc)添加到目录文件。文件名和inode之间的对应关系将文件名和文件的内容及属性连接起来
⭐如何理解目录
挂载:mount
磁盘空间管理:df
df -h
📝4. 软链接与硬链接
软链接
硬链接
inode
内部有引用计数,表示有几个文件名映射关系
硬链接与软链接的区别
硬链接 | 软链接 | |
---|---|---|
存在形式 | 文件副本的形式存在,但不占用实际空间 | 以路径的形式存在 |
跨文件系统 | 不可以 | 可以 |
对目录的链接 | 不允许 | 可以 |
inode编号 | 与原文件共享相同的inode编号 | 有自己的inode编号,但数据块包含目标文件的路径名 |
删除操作 | 删除其中一个文件名,不会影响另一个文件名的访问 | 删除原文件或目录后,软链接变为悬空链接,无法访问目标 |
同步性 | 对硬链接或原文件的任何修改都会同时反映在另一个文件上 | 修改软链接、硬链接和源文件,访问三者都是同步变化的(但软链接指向的内容可能因原文件删除而失效) |
acm
📖5. 总结
在探索Linux基础IO(输入输出)中的文件管理的旅程即将告一段落之际,我们不禁要感慨这一领域所蕴含的深厚底蕴与无限可能。文件管理,作为Linux操作系统的核心功能之一,不仅仅是简单地创建、删除、移动文件那么直接,它更是系统资源管理、数据安全、乃至高效编程的基石
希望每一位学习者保持好奇心和求知欲,继续深入探索Linux的广阔天地!
希望本文能够为你提供有益的参考和启示,让我们一起在编程的道路上不断前行!
谢谢大家支持本篇到这里就结束了,祝大家天天开心!