Linux的设计哲学:一切皆文件,包括进程、设备等等
![](https://img.haomeiwen.com/i5131519/3a17489fb32c7b15.jpg)
![](https://img.haomeiwen.com/i5131519/385411c69b30fa56.png)
文件类型
![](https://img.haomeiwen.com/i5131519/86345bb023bf9aca.png)
文件系统:FAT、NTFS、EXT2/3/4
- FAT:
File Allocation Table
,早期微软的Dos/Windows
系统所用使用的文件系统,包括FAT16、FAT32
等,使用一张表保持盘块的信息。 - NTFS:
New Technology File System
,WindowsNT
环境的文件系统,Windows7/8/10
都支持此文件系统。NTFS
对FAT
进行了改进,取代了旧的文件系统。 - EXT:
Extended file system
,扩展文件系统,主要在Linux系统上使用,EXT2/3/4
中的数字表示第几代。
Linux也支持
NTFS
,但Windows不支持EXT
,所以在格式化U盘、移动硬盘等设备时,通常会格式化为NTFS
,这样在Linux和Windows系统上都能识别。
EXT
如果把U盘或硬盘格式化为EXT
文件系统,其逻辑结构为一个Boot Sector,若干个Block Group
-
Boot Sector
:启动扇区,安装开机管理程序; -
Block Group
:块组,存储数据的实际位置,每个块组都包含:
![](https://img.haomeiwen.com/i5131519/c1a06d6fcca55ccf.jpg)
Inode Table 是存放文件的 Inode
的地方
- 每个文件/目录都有一个
Inode
-
Inode
是每一个文件/目录的索引节点。EXT
管理外存的方式就是索引分配
Inode 存放无关乎文件内容的元信息:索引节点编号、文件类型、文件权限、文件物理地址、文件长度、文件连接计数、文件存取时间、文件状态、访问计数、链接指针... - 文件名并不是存放在
Inode
节点上的,而是存放于目录的Inode
节点。 - 这样设计的目的是,在列出目录文件时,无需加载文件的
Inode
。
Inode bitmap:Inode
的位视图,记录已分配的Inode
和未分配的Inode
Data block:存放文件内容的地方。
- 每个
block
都有一个唯一编号 - 文件的
block
记录在文件的Inode
上
Block bitmap:block
的位视图,功能与Inode bitmap
类似,记录Data block
的使用情况。
Superblock
- 记录整个文件系统相关信息的地方
-
block
和Inode
的使用情况 - 时间信息、控制信息等
df -T
:列出Linux系统挂载的磁盘信息。
网友评论