
本文共 1134 字,大约阅读时间需要 3 分钟。
为啥要认识文件系统
在学习一个新的知识点之前,了解它的作用和意义总是能让学习更有方向。文件系统也是如此。在Linux系统中,所有的操作都与文件系统密切相关,这一点可能会让刚接触Linux的新手感到困惑。比如说,使用wiringPi
库来操作树莓派的IO口和外设,虽然方便,但如果不了解文件系统的基本概念,可能需要花费很多时间来手动配置驱动文件和修改文件权限才能实现同样的功能。
文件系统的定义
很多人对文件系统的理解仅限于电脑里的文件夹和目录,这种认知是错误的。文件系统是操作系统用于存储和组织文件的方法和数据结构。它决定了如何在存储设备(如磁盘或NAND Flash)上存放文件。简单来说,文件系统是操作系统中一个管理文件的程序,用于明确存储设备上的文件。
文件系统的种类
不同操作系统使用不同的文件系统,有时甚至一个系统中可以支持多种文件系统。例如,Windows主要使用NIFS文件系统,而Linux则支持多种文件系统,如FAT、VFAT、FAT32、NIFS、EXT1/2/3/4等。通过使用df -T
命令可以查看当前系统支持的文件系统类型。
常见文件系统种类
/home
和/
。分区的概念
分区是将物理存储空间划分为多个逻辑存储空间的过程。在Windows中,用户可能经常看到C盘、D盘等分区,这些分区通常是连续的存储空间。Linux默认系统有四个分区:
每个分区都按照功能严格存放文件,确保文件管理更加有序。
Linux文件系统目录结构
Linux遵循LSB和FHS规范,目录结构遵循如下规范:
目录名 | 说明 |
---|---|
/bin | 存放系统指令 |
/boot | 存放内核文件 |
/home | 用户的主目录 |
/lib | 存放系统库文件 |
/lost+found | 存放找回文件的信息 |
/media | 附加存储设备的挂载目录 |
/mnt | 挂载目录 |
/proc | 存放内核相关文件 |
/root | 管理目录 |
/var | 存放系统日志和配置文件 |
/dev | 驱动文件和字符设备的存放位置 |
根目录是文件系统的主目录,主要存放系统文件和应用程序。
虚拟文件系统
虚拟文件系统(vfs)是解决文件交互复杂性的关键。它像是一个中间层,连接用户和实际的文件系统,提供统一的操作接口。例如,通过open
函数调用文件时,虚拟文件系统会与实际文件系统进行交互,确保操作的一致性。这使得开发者无需关心具体文件系统类型,简化了文件操作的复杂性。
发表评论
最新留言
关于作者
