3.Linux下的文件系统
1、文件系统概述
文件系统是操作系统中一个非常重要的概念指操作系统在磁盘或分区上用来存储和管理文件的子系统。文件系统向用户提供了对底层硬件数据的访问机制,文件系统有多种类型,每个操作系统支持的文件系统也各不相同,如EXT,EXT2,MINIX,UMSDOS…,其中EXT2是Linux的默认文件系统。
Linux可以支持多文件系统是通过VFS来实现的,VFS只存在于系统的内存中,它随系统的启动调入内存,在系统关闭时调出内存,VFS位于文件系统的最上层,管理各种逻辑文件系统,可以屏蔽各种逻辑文件系统之间的差异,提供统一的文件和设备访问的接口,VFS提供文件系统对用户命令、系统调用以及内核其他模块的统一接口,同时负责管理和控制底层的实际文件系统,使他们能够以各自特定的模式正常工作。
VFS基本的数据结构----VFS依赖于数据结构来保存对一个文件系统的一般表示,其结构为:
◆超级块结构(struct super_block):存放已安装的文件系统的相关信息
◆索引点结构(struct inode):存放有关具体文件的一般信息
◆文件结构(struct file):存放被进程打开的文件的相关信息
◆目录项结构(struct dentry):存放有关路径名及路劲名所指向的文件的信
2、文件系统的两个特性
文件----在Linux下,所有的软件和硬件都被视为文件,因此,Linux为操作系统的各种应用和设备提供了统一的接口。Linux 与Windows最大的不同是,Linux的文件名没有扩展名的概念,即文件的扩展名和它的类型没有直接的关系
Linux下的文件分为5种:
- 普通文件
- 目录文件
- 链接文件
在linux系统中,内核为每一个新创建得文件分配一个inode号(索引节点),文件属性保存在索引节点里,在访问文件时,索引节点被复制到内存里,从而实现文件得快速访问。
链接是一种共享和访问它得用户得若干目录项之间建立联系的方式,Linux中得链接包括:
硬链接—硬链接是一个指向索引节点的指针,系统并不为它重新分配inode(目的是节省空间)。
硬链接的两个限制:
1、不允许给目录创建硬链接
2、只有在同一文件系统中的文件之间才可以创建链接
软链接—又叫符号链接,这个文件包含了另一个文件得路径名,可以是任意文件或目录,可以链接不同文件系统的文件,类似于windows中的快捷方式。
- 设备文件
- 管道文件
目录----目录是一种特殊的文件,用来维护文件系统的层次结构,目录记录它所包含的文件、子目录以及与它相关的信息。一个目录文件是由一个索引节点描述的,在这个索引节点数据块中存放用来描述该目录下的所有目录项,在Linux中,/是系统的根目录
本文来自博客园,作者:种星记,转载请注明原文链接:https://www.cnblogs.com/zhongxingji/p/17697236.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!