Linux文件系统是一棵以根目录(/)为起点、按层次化结构组织的倒置树形结构。其核心设计遵循Filesystem Hierarchy Standard (FHS)标准,主要特点如下:
1. 根目录(/)
所有目录和文件的顶级入口,类似于树根。系统启动时首先挂载根文件系统,其他分区(如/home、/var)可挂载到子目录下。
2. 关键子目录结构
- /bin:存放基础用户命令(如ls、cp),所有用户可用。
- /sbin:系统管理命令(如ifconfig、fsck),需root权限。
- /etc:系统全局配置文件,例如网络配置、服务启动脚本。
- /home:普通用户主目录,每个用户拥有独立子目录。
- /var:动态数据(日志、邮件、数据库),常单独分区以避免写满根分区。
- /tmp:临时文件,通常所有人可读写,部分系统启动时清空。
3. 设备和内核接口
- /dev:设备文件节点(如/dev/sda表示磁盘),通过文件抽象硬件。
- /proc:虚拟文件系统,实时反映进程和内核状态(如/proc/cpuinfo)。
- /sys:另一虚拟文件系统,用于管理设备、驱动和内核参数。
4. 挂载点的扩展性
- 外部存储(U盘、磁盘分区)通过挂载到目录(如/mnt或/media)融入文件树。
- LVM、RAID等高级存储技术可透明集成到目录结构中。
5. 符号链接与硬链接
- 符号链接(软链接)像快捷方式,可跨文件系统指向目标。
- 硬链接是同一文件的多个目录入口,共享inode,不能跨文件系统。
6. 权限与属性
- 通过inode存储元数据(权限、所有者、时间戳),支持ACL扩展权限控制。
- Ext4/XFS等文件系统还支持写时复制(COW)、日志功能等高级特性。
Linux文件树的设计兼顾灵活性与标准化,既支持多用户隔离,又能通过挂载机制整合异构存储。其层次化结构对系统管理(如备份、权限控制)和故障排查具有重要意义。
查看详情
查看详情