Linux 文件系统

m0_59305477 2026-04-30 00:07:58

一、概述

Linux 文件系统是文件与目录的组织结构,负责:

  • 文件存储
  • 目录管理
  • 权限控制
  • 磁盘空间管理

特点:

  • 一切皆文件:普通文件、目录、设备、管道、套接字都是文件
  • 单根树形结构:只有一个根目录 /,没有 C/D/E 盘之分
  • 支持多种文件系统:ext4、xfs、btrfs、tmpfs 等

二、目录结构(树形结构)

/  根目录
├── /bin      基本命令(ls、cp、mv 等)
├── /sbin     系统管理命令(root 用)
├── /boot     启动文件、内核
├── /dev      设备文件(硬盘、键盘、显示器)
├── /etc      系统配置文件
├── /home     普通用户家目录
├── /root     超级用户 root 家目录
├── /lib      库文件
├── /mnt      临时挂载点
├── /opt      可选第三方软件
├── /proc     虚拟文件系统,存放进程/系统信息
├── /tmp      临时文件
├── /usr      应用程序、资源
└── /var      可变文件(日志、邮件、缓存)

三、一切皆文件

在 Linux 里:

  • 普通文件:-
  • 目录:d
  • 硬件设备:/dev/sda/dev/tty
  • 管道、套接字也以文件形式存在

统一的读写接口,操作简单统一。

四、常见文件系统类型

  1. ext4

    • 最经典、最常用
    • 稳定、通用,适合系统盘
  2. xfs

    • 高并发、大文件性能好
    • 常用于服务器、数据盘
  3. btrfs

    • 支持快照、校验、多盘管理
    • 新一代文件系统
  4. tmpfs

    • 内存文件系统
    • 速度极快,重启丢失
  5. vfat/ntfs

    • 兼容 Windows 分区

五、挂载(Mount)

Linux 不能直接访问分区,必须挂载到目录才能用。

mount /dev/sdb1 /mnt   # 挂载
umount /mnt            # 卸载
df -h                  # 查看挂载情况

一个目录就是一个挂载点

六、文件权限(核心)

Linux 权限分三类:

  • 属主(u):文件所有者
  • 属组(g):所属组
  • 其他用户(o):其他人

权限三种:

  • r 读 4
  • w 写 2
  • x 执行 1

示例:

-rwxr-xr--

表示:

  • 属主:rwx
  • 属组:r-x
  • 其他:r--

修改权限:

bash

运行

chmod 755 文件名
chown 用户:组 文件名

七、索引节点 inode

每个文件对应一个 inode,记录:

  • 文件大小
  • 权限
  • 时间
  • 数据块位置
  • 不记录文件名(文件名在目录里)

查看:

ls -i
df -i

八、文件系统操作常用命令

ls        查看
cd        切换目录
pwd       当前路径
mkdir     建目录
touch     建文件
rm        删除
cp/mv     复制/移动
df -h     磁盘使用
du -sh    目录大小
mount     挂载
chmod/chown 权限

九、极简总结

  1. Linux 只有 一个根目录 /
  2. 一切皆文件
  3. 目录结构固定,配置在 /etc,用户在 /home
  4. 分区必须 挂载 才能使用
  5. 权限分 u/g/or/w/x
  6. inode 管理文件元信息,文件名存在目录里
...全文
24 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
第一章 走进linux 1.1 GNU与Linux的成长 1.2 Linux的开发模式和运作机制 1.3走进Linux内核 1.4 分析Linux内核的意义 1.5 Linux内核结构 1.6 Linux内核源代码 1.7 Linux内核源代码分析工具 第二章 Linux运行的硬件基础 2.1 i386的寄存器 2.2 内存地址 2.3 段机制和描述符 2.4 分页机制 2.5 Linux中的分页机制 2.6 Linux中的汇编语言 第三章中断机制 3.1 中断基本知识 3.2中断描述符表的初始化 3.3异常处理 3.4 中断处理 3.5中断的后半部分处理机制 第四章 进程描述 4.1 进程和程序(Process and Program) 4.2 Linux中的进程概述 4.3 task_struct结构描述 4.4 task_struct结构在内存中的存放 4.5 进程组织的方式 4.6 内核线程 4.7 进程的权能 4.8 内核同步 第五章进程调度 5.1 Linux时间系统 5.2 时钟中断 5.3 Linux的调度程序-Schedule( ) 5.4 进程切换 第六章 Linux内存管理 6.1 Linux的内存管理概述 6.2 Linux内存管理的初始化 6.3 内存的分配和回收 6.4 地址映射机制 6.5 请页机制 6.6 交换机制 6.7 缓存和刷新机制 6.8 进程的创建和执行 第七章 进程间通信 7.1 管道 7.2 信号(signal) 7.3 System V 的IPC机制 第八章 虚拟文件系统 8.1 概述 8.2 VFS中的数据结构 8.3 高速缓存 8.4 文件系统的注册、安装与拆卸 8.5 限额机制 8.6 具体文件系统举例 8.7 文件系统的系统调用 8 .8 Linux2.4文件系统的移植问题 第九章 Ext2文件系统 9.1 基本概念 9.2 Ext2的磁盘布局和数据结构 9.3 文件的访问权限和安全 9.4 链接文件 9.5 分配策略 第十章 模块机制 10.1 概述 10.2 实现机制 10.3 模块的装入和卸载 10.4 内核版本 10.5 编写内核模块 第十一章 设备驱动程序 11.1 概述 11.2 设备驱动基础 11.3 块设备驱动程序 11.4 字符设备驱动程序 第十二章 网络 12.1 概述 12.2 网络协议 12.3 套接字(socket) 12.4 套接字缓冲区(sk_buff) 12.5 网络设备接口 第十三章 启动系统 13.1 初始化流程 13.2 初始化的任务 13.3 Linux 的Boot Loarder 13.4 进入操作系统 13.5 main.c中的初始化 13.6 建立init进程 附录: 1 Linux 2.4内核API 2.1 驱动程序的基本函数 2.2 双向循环链表的操作 2.3 基本C库函数 2.4 Linux内存管理中Slab缓冲区 2.5 Linux中的VFS 2.6 Linux的连网 2.7 网络设备支持 2.8 模块支持 2.9 硬件接口 2.10 块设备 2.11 USB 设备

151

社区成员

发帖
与我相关
我的任务
社区描述
这里专为新疆政法学院的探索者而建,英雄不问出处。起跑线是起点,热忱与坚持为加速器,无论bug缠身的项目,还是攻克的算法顿悟,每滴汗水皆被珍藏。执炬前行,终将照亮彼此峰顶,我们携手同行。
课程设计笔记经验分享 高校 新疆·图木舒克市
社区管理员
  • 雲中203
  • SHAO060706
  • 三叶草.
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

英雄不问出处

试试用AI创作助手写篇文章吧