Linux基础之文件系统

什么是文件系统?

  文件系统是操作系统对存储设备上文件一种管理机制,不同的管理机制形成了不同的文件系统;

文件系统划分

  按IO栈的层级来分,可以分为VFS和具体文件系统两层。VFS屏蔽不同的文件系统,向上提供统一的访问接口,具体的文件系统则为具体的文件系统实现,比如ext4、overlayfs等;
  按存储介质的不同,文件系统可以分为三类:

  1. 基于磁盘的文件系统,常见的有Ext4、XFS、OverlayFS 等文件系统;
  2. 基于内存的文件系统,比如常用的 /proc 文件系统;
  3. 网络文件系统,也就是用来访问其他计算机数据的文件系统,比如 NFS、SMB、iSCSI 等;

挂载点

查看文件系统挂载点

df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/ubuntu-root  909G  565G  299G  66% /
none                     4.0K     0  4.0K   0% /sys/fs/cgroup
udev                     3.9G  4.0K  3.9G   1% /dev
tmpfs                    785M  1.2M  784M   1% /run
none                     5.0M     0  5.0M   0% /run/lock
none                     3.9G   62M  3.8G   2% /run/shm
none                     100M   48K  100M   1% /run/user
/dev/sda1                228M   98M  118M  46% /boot

查看目录或文件所在文件系统的挂载点

df -h 文件/目录

基本要素

  1. 超级块(super_block):存储文件系统的元数据,每个文件系统对应一个超级块;
  2. 目录项模块:文件系统的目录管理,比如一个路径 /home/foo/hello.txt,那么目录项有home, foo, hello.txt。目录项的块,存储的是这个目录下的所有的文件的inode号和文件名等信息;
  3. 索引节点inode:存储文件的元数据,比如 inode 编号、文件大小、访问权限、修改日期、数据的位置等,每个文件对应一个inode(索引节点对应的缓存叫索引节点缓存);
  4. 逻辑块Page:文件系统读写数据的基本单元,常见的逻辑块大小为 4KB,即8个连续扇区(逻辑块对应的缓存叫页缓存);
    在这里插入图片描述

参考:

  1. 在 Linux 下你所不知道的 df 命令的那些功能
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章