树莓派——文件系统认知

本文介绍了文件系统的概念,包括其在存储设备上的管理方式,以及不同类型的文件系统如FAT、NTFS和EXT系列。文章探讨了Linux与Windows的文件系统结构差异,强调Linux按功能分区的特点。此外,文章还讲解了虚拟文件系统(VFS)的作用,它为不同物理介质和文件系统的操作提供了一致的接口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

什么是文件系统      

文件系统的种类有哪些

什么是分区?

windows的驱动器与linux的文件系统结构

什么是文件系统目录结构?

什么虚拟文件系统Virtual File System ?

虚拟文件系统有什么作用?


什么是文件系统      

常规认知: 根目录下的文件【类比于此电脑下的驱动器】

实际上:是文件管理系统的简称,是一种方法,用来管理文件在存储设备上存储方式

文件系统的种类有哪些

文件系统的种类:FAT 、VFAT 、NTFS 、EXT1/2/3/4(linux标准的文件系统) 、HFS …

windows 的驱动器采用的是NTFS的文件系统
在根目录下,树莓派查看文件系统的命令: df -T

vfat : 是boot相关的内容(bootloader, kernel)
ext4 : 系统的根目录
tmpfs : 内存文件系统
 

什么是分区?

windows: 随意分区(面向普通用户PC),目录即分区

C(装系统的位置)也可以随意在C盘存放文件,

D盘(用户随意发挥)

Linux: 按照功能来分区,每个分区严格存放文件(开发者)

嵌入式系统可以分为4个区,分别是
bootloader 启动代码
para 启动代码向内核传递参数的位置
kernel 内核分区(前面内核编译时SD卡映射的data1)
根分区等 文件系统结构,例如/、bin、usr等(前面内核编译时SD卡映射的data2)
 

windows的驱动器与linux的文件系统结构

window 

  • 驱动器内的文件是连续存放的,同一个驱动器内的文件来自一个分区

linux   

  • 文件系统结构内的文件不一定连续存放在根分区,而是由四个分区所组成
    • 文件系统结构内的文件由不同的文件系统种类组成

什么是文件系统目录结构?

windows的根目录下即为分区,而linux根目录(linux根分区)下是文件系统目录结构,文件来自不同的分区,且文件系统的种类不一样

文件系统目录结构:是 linux的根目录的树形结构,不是分区

该树形结构也是安装功能进行划分

  • /:根目录,位于Linux文件系统目录结构的顶层,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中。
  • /bin : binary的缩写,提供用户使用的基本命令,如ls,rm,touch,cat等, 存放二进制命令,不允许关联到独立分区,OS启动会用到里面的程序。
  • /boot:用于存放引导文件,内核文件,引导加载器.包括一些核心文件和镜像文件
  • /sbin:管理类的基本命令,不能关联到独立分区,OS启动时会用到的程序(重要的命令通常处于bin,不重要的则安装在sbin)。
  • /lib:存放系统在启动时依赖的基本共享库文件以及内核模块文件. 系统使用的函数库的目录 也存放了大量的脚本库文件 ,程序在执行过程中,需要调用时会用到。类似于windows里的DLL文件
  • /lib64:存放64位系统上的辅助共享库文件.
  • /etc: 系统配置文件存放的目录,该目录存放系统的大部分配置文件和子目录,不建议在此目录下存放可执行文件 。可以设置一些开机自动启动的配置。包括网络配置文件(netinterfaces NetManager),文件系统,X系统配置文件 ,设备配置信息,设置用户信息等,比如cd /etc/init后,可以看到配置文件。一般是通过修改vi etc/rc.local里面的内容完成启动配置,例如之前的IP地址固定。
  • /home:普通用户主目录,当新建账户时,都会分配在此,建议单独分区,并分配额外空间用于存储数据。
  • /root: 系统管理员root的宿主目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。
  • /media:便携式移动设备挂载点目录。光驱和软驱的挂载点 linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
  • /mnt:临时文件系统挂载点.
  • /dev: 设备(device)文件目录,存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,存放连接到计算机上的设备(终端、磁盘驱动器、光驱及网卡等)的对应文件 (b 随机访问,c 线性访问)。/dev/char是字符设备软连接
  • /opt:第三方应用程序的安装位置.
  • /srv: 服务启动之后需要访问的数据目录,存放系统上运行的服务用到的数据,如www服务需要访问的网页数据存放在/srv/www内。
  • /tmp:存储临时文件, 任何人都可以访问,重要数据一定不要放在此目录下。
  • /usr: 应用程序存放目录,/usr/bin 存放保证系统拥有完整功能而提供的应用程序, /usr/share存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件,/usr/local 存放软件升级包,第三方应用程序的安装位置,/usr/share/doc 系统说明文件存放目录。/usr/src:内核源码默认放置目录。类似windows下的program files
  • /var :放置系统中经常要发生变化的文件,如日志文件。/var/log 日志目录及文件./var/tmp:保存系统两次重启之间产生的临时数据.
  • /proc: 用于输出内核与进程信息相关的虚拟文件系统,目录中的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间(cat /proc/cpuinfo 查看cpu型号,核数以及其它信息)(通过cat /proc/meminfo查看内存信息)
  • /sys: 用于输出当前系统上硬件设备相关的虚拟文件系统.
  • /selinux:存放selinux相关的信息安全策略等信息.

什么虚拟文件系统Virtual File System ?

  • VFS是用户的应用程序与文件系统实现之间的抽象层。
  • VFS作为内核子系统,为用户空间程序提供了文件系统相关的接口。用户空间程序可以利用标准的UNIX文件系统调用,**对不同物理介质上的不同文件系统进行操作。**不管文件是磁盘还是设备,都可以用open read write统一操作
  • VFS提供文件系统抽象层:VFS提供了一个通用文件系统模型,该模型囊括了所有实际文件系统的常用功能和行为。VFS抽象层定义了所有实际文件系统支持的基本的、概念上的接口和数据结构,所以VFS能衔接各种实际文件系统。
     

虚拟文件系统有什么作用?

简化应用程序员的开发。文件对应的分区可能不一样,有的来自ext4,或者tmps。即为文件系统的类型可能不一样,数据存储的方式不一样,访问方式也就不一样,没办法做到操作统一化,给编程开发带来困难。而虚拟文件系统的存在正是解决了这个问题:简化上层应用程序员的开发,不管是什么文件类型,磁盘还是设备,通通都是用open,read,write统一操作。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值