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 命令的那些功能
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章