1.什么是文件系统
- 常规认知:Linux下的根目录
- 文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法,即在存储设备上组织文件的方法,这种所谓的方法就是文件管理系统(程序),简称文件系统
2.文件系统(管理文件的方法)的分类
ext2 : 早期linux中常用的文件系统
ext3 : ext2的升级版,带日志功能
ext4 : 基于磁盘(存放根目录分区)
NFS : 网络文件系统,由SUN发明,主要用于远程文件共享
NTFS : Windows NT/XP 操作系统采用的文件系统
XFS : 由SGI开发的先进的日志文件系统,支持超大容量文件
ISO9660 : 大部分光盘所采用的文件系统
SMBFS : Samba 的服务的共享文件系统
tmpfs : 临时文件系统(内存文件系统)
- windows下:
- Linxu下:
vfat : 存放 boot(bootloader, kernel)
ext4 : 根目录
tmpfs : 内存文件系统
3.什么是分区
- windows: 随意(面向普通用户PC),目录即分区
C盘(装系统的位置)也可以随意在C盘存放文件
D盘(用户随意发挥)
- Linux:按照功能来分区,每个分区严格存放文件(开发者),目录不是分区,和windows不同
嵌入式系统可以分为4个区,分别是
bootloader: 启动代码
para : 启动代码向内核传递参数的位置
kernel : 内核分区
根分区等 : 文件系统结构
4.什么是文件系统目录结构
参考文章
1)
- windows:以多根的方式组织文件C:\ D:\
- Linux:以单根的方式组织文件 /
- 在 Linux 系统中,所有内容都是以文件的形式保存和管理的,即「一切皆文件」。普通文件是文件,目录(Windows 下称为文件夹)是文件,硬件设备(键盘、监视器、硬盘、打印机)是文件,就连套接字(socket)、网络通信等资源也都是文件。
- linux只有一个根目录,而且文件和目录被组织成一个单根倒置树结构, 此结构最上层是根目录,用“/”表示
- 根文件系统(rootfs):root filesystem 标准Linux文件系统(如:ext4)
- 如下图:
2)目录作用说明- / 整个文件系统的根目录,目录的源头
- /bin 存放Linux的二进制文件、命令(普通用户和超级用户都可以执行)
- /sbin 存放Linux的二进制文件(只有超级管理员可以执行的命令)
- /boot 存放系统启动的引导文件
- /etc 存放系统所有的配置文件
- /home 普通用户的家目录
- /root root用户的家目录
- /run 存放系统内部正在运行程序的相关文件
- /dev 存放设备文件
- /tmp 用于存放各种临时文件,是公用的临时文件存储点
- /usr 存放第三方软件
- /var 存放系统运行时需要改变数据的文件(系统日志等)
- /lib 存放库文件的目录(32位)
- /lib64 存放库文件的目录(64位)
- /opt 存放第三方安装的软件
- /mnt 临时挂载的文件目录。比如cdrom,u盘等,直接插入光驱无法使用,要先挂载后使用
- /srv 站点的具体数据,由系统提供
- /media 存放多媒体的文件
- /proc 虚拟文件系统,以目录的形式,将进程的pid号存储下来(系统信息都存放在这个目录下)
- /sys 存放和系统有关的文件目录
后面学到到相关的再添加
5.什么是虚拟文件系统Virtual File System
-
Virtual File System(虚拟文件系统):vfs就是对各种文件系统的一个抽象,它为各种文件系统提供了一个通用的接口
-
虚拟文件系统的作用
简化应用程序的开发,不管是什么文件类型,不管文件是磁盘还是设备,都只用open read write统一操作