插件窝 干货文章 Linux文件系统 | 知识要点总结

Linux文件系统 | 知识要点总结

文件 系统 挂载 目录 60    来源:    2025-05-14

Linux文件系统知识要点总结

一、Linux文件系统基本概念

  1. 文件系统定义:Linux文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构

  2. 主要特点

    • 树状目录结构
    • 一切皆文件(包括设备、进程等)
    • 区分大小写
    • 使用/作为路径分隔符
  3. 常见文件系统类型

    • ext4 (最常用的Linux原生文件系统)
    • XFS (高性能日志文件系统)
    • Btrfs (支持快照、压缩等高级特性)
    • ZFS (支持高级存储功能)
    • FAT32/NTFS (Windows兼容文件系统)

二、Linux目录结构

  1. 标准目录结构(FHS)

    /
    ├── bin/        # 基本命令二进制文件
    ├── boot/       # 引导加载程序文件
    ├── dev/        # 设备文件
    ├── etc/        # 系统配置文件
    ├── home/       # 用户主目录
    ├── lib/        # 系统库文件
    ├── media/      # 可移动媒体挂载点
    ├── mnt/        # 临时挂载点
    ├── opt/        # 可选应用软件包
    ├── proc/       # 进程和内核信息
    ├── root/       # root用户主目录
    ├── run/        # 运行时变量数据
    ├── sbin/       # 系统管理命令
    ├── srv/        # 服务数据
    ├── sys/        # 系统设备信息
    ├── tmp/        # 临时文件
    ├── usr/        # 用户程序
    └── var/        # 可变数据文件
    
  2. 重要目录说明

    • /proc:虚拟文件系统,提供进程和系统信息
    • /dev:包含设备文件
    • /sys:提供内核设备、驱动和系统特性的信息

三、文件系统操作命令

  1. 基本操作命令

    ls          # 列出目录内容
    cd          # 切换目录
    pwd         # 显示当前工作目录
    mkdir       # 创建目录
    rmdir       # 删除空目录
    cp          # 复制文件/目录
    mv          # 移动/重命名文件
    rm          # 删除文件
    touch       # 创建空文件或更新文件时间戳
    
  2. 文件查看命令

    cat         # 连接文件并打印到标准输出
    less/more   # 分页查看文件内容
    head        # 显示文件开头部分
    tail        # 显示文件末尾部分
    grep        # 文本搜索
    
  3. 权限管理

    chmod       # 更改文件权限
    chown       # 更改文件所有者
    chgrp       # 更改文件所属组
    umask       # 设置默认文件权限掩码
    
  4. 磁盘和文件系统管理

    df          # 显示磁盘空间使用情况
    du          # 估算文件/目录空间使用
    mount       # 挂载文件系统
    umount      # 卸载文件系统
    fsck        # 文件系统检查和修复
    mkfs        # 创建文件系统
    blkid       # 显示块设备属性
    lsblk       # 列出块设备信息
    

四、文件权限和属性

  1. 权限表示

    • 三种权限:读(r)、写(w)、执行(x)
    • 三类用户:所有者(u)、所属组(g)、其他用户(o)
    • 数字表示法:r=4, w=2, x=1
  2. 特殊权限

    • SUID (Set User ID):以文件所有者身份执行
    • SGID (Set Group ID):以文件所属组身份执行
    • Sticky Bit:只有文件所有者才能删除/重命名
  3. 文件属性

    lsattr      # 查看文件属性
    chattr      # 修改文件属性
    

    常见属性:

    • a:只能追加内容
    • i:不可修改、删除、重命名
    • A:不更新访问时间

五、挂载管理

  1. 挂载概念:将存储设备关联到文件系统树中的某个目录

  2. 相关文件

    • /etc/fstab:系统启动时自动挂载的文件系统配置
    • /etc/mtab:当前已挂载的文件系统列表
  3. 挂载选项

    • ro/rw:只读/读写
    • noexec/exec:禁止/允许执行
    • nosuid/suid:忽略/允许SUID/SGID
    • defaults:默认选项(rw, suid, dev, exec, auto, nouser, async)

六、链接文件

  1. 硬链接

    • 指向文件inode的直接指针
    • 不能跨文件系统
    • 删除原文件不影响硬链接访问
  2. 软链接(符号链接)

    • 包含指向目标文件的路径
    • 可以跨文件系统
    • 删除原文件后链接失效
  3. 创建命令

    ln          # 创建硬链接
    ln -s       # 创建软链接
    

七、文件系统高级特性

  1. 日志功能:记录文件系统变更,提高崩溃恢复能力

  2. 扩展属性(xattr)

    • 为文件添加额外元数据
    • 命令:getfattr, setfattr
  3. ACL(访问控制列表)

    • 提供更细粒度的权限控制
    • 命令:getfacl, setfacl
  4. 配额管理

    • 限制用户/组的磁盘使用量
    • 命令:quota, edquota, repquota

八、性能监控和优化

  1. 监控工具

    iostat      # 监控磁盘I/O
    vmstat      # 监控系统资源使用
    sar         # 系统活动报告
    
  2. 优化方法

    • 选择合适的文件系统类型
    • 合理设置挂载选项
    • 定期维护(如清理日志、临时文件)
    • 使用SSD优化选项(如discard)

九、故障处理

  1. 常见问题

    • 文件系统损坏
    • 磁盘空间耗尽
    • 权限问题
    • 挂载失败
  2. 修复工具

    • fsck:文件系统检查修复
    • badblocks:检测坏块
    • dmesg:查看内核日志

掌握这些Linux文件系统知识要点,将有助于您更有效地管理和维护Linux系统。