Linux目录结构说明

以下是Linux系统主要目录及其存储数据的详细说明:

根目录(/)下的核心目录

1. 二进制文件和命令

目录 存储内容 特点
/bin 基本用户命令(二进制文件) 所有用户可用,系统启动必需
/sbin 系统管理命令 通常需要root权限,系统启动必需
/usr/bin 用户应用程序和命令 完整的用户命令集,非启动必需
/usr/sbin 系统管理应用程序 非关键的系统管理命令
/usr/local/bin 本地编译安装的命令 管理员手动安装,优先级最高

2. 配置文件

目录 存储内容 特点
/etc 系统全局配置文件 文本格式,最重要的配置目录
/etc/sysconfig 系统服务配置(RHEL/CentOS特有) 网络、服务等配置
/etc/default 服务默认配置(Debian/Ubuntu) 服务启动参数
/etc/init.d/etc/systemd 服务启动脚本 SysV或systemd的服务管理

3. 库文件

目录 存储内容 特点
/lib 基本共享库和内核模块 系统启动必需的库
/lib64 64位系统库(x86_64架构) 64位库文件
/usr/lib 应用程序库文件 非启动必需的库
/usr/lib64 64位应用程序库 非启动必需的64位库

4. 用户数据和变量数据

目录 存储内容 特点
/home 用户主目录 每个用户独立目录,存放个人文件
/root root用户的主目录 超级用户的家目录
/var 可变数据文件 经常变化的文件
/tmp 临时文件 所有用户可写,重启可能清空
/usr/tmp/var/tmp 临时文件 较长时间保留的临时文件

5. 系统运行和进程数据

目录 存储内容 特点
/proc 进程和内核信息(虚拟文件系统) 内存中,实时反映系统状态
/sys 内核设备信息(虚拟文件系统) 硬件和设备驱动信息
/run 运行时数据 系统启动后的运行信息

6. 设备文件

目录 存储内容 特点
/dev 设备文件 代表硬件设备或虚拟设备
/dev/pts 伪终端设备 SSH、telnet等会话的终端
/dev/shm 共享内存 tmpfs文件系统

7. 引导和启动

目录 存储内容 特点
/boot 启动加载器文件和内核 vmlinuz、initramfs、grub等
/boot/efi/boot/grub2 EFI或GRUB2文件 引导加载器配置

8. 挂载点

目录 存储内容 特点
/mnt 临时挂载点 手动挂载外部设备
/media 可移动媒体挂载点 自动挂载U盘、光盘等
/cdrom/mnt/cdrom 光盘挂载点 光盘设备

/var 子目录详解

bash 复制代码
/var/log/         # 系统日志文件
/var/cache/       # 应用程序缓存数据
/var/spool/       # 队列数据(打印、邮件等)
/var/lib/         # 动态数据库和状态信息
/var/run/         # 运行时的PID文件(现多链接到/run)
/var/tmp/         # 临时文件(比/tmp保留更久)
/var/lock/        # 锁文件
/var/mail/        # 用户邮箱

特殊用途目录

系统恢复和维护

bash 复制代码
/rescue 或 /recovery  # 恢复工具(某些发行版)
/sysroot             # 系统修复时的根目录

应用程序数据

bash 复制代码
/opt/                # 第三方应用程序安装目录
/usr/share/          # 架构无关的共享数据
/usr/src/            # 内核源代码
/usr/include/        # C/C++头文件

虚拟化相关

bash 复制代码
/srv/                # 服务数据(web、ftp等)
/sys/fs/             # 文件系统相关信息
/proc/sys/           # 内核参数(可调优)

FHS(文件系统层次标准)规范

Linux目录结构遵循FHS标准:
根目录 /
基本命令 bin sbin
配置文件 etc
库文件 lib lib64
用户数据 home
可变数据 var
临时文件 tmp
设备文件 dev
进程信息 proc sys
引导文件 boot
挂载点 mnt media
应用程序 usr
第三方应用 opt
用户命令 usr/bin
共享数据 usr/share
本地软件 usr/local
日志 var/log
缓存 var/cache
数据库 var/lib
队列 var/spool

实际查看命令

bash 复制代码
# 查看目录大小和用途
df -hT              # 查看分区使用情况
du -sh /*           # 查看根目录下各目录大小
ls -la /            # 查看根目录内容

# 查看特定目录内容
tree -L 1 /         # 树状显示一级目录
ls -F /             # 显示文件类型标识符

# 查看系统目录结构
ls -la / | grep '^d'  # 只显示目录

重要注意事项

  1. /bin, /sbin, /lib 在新系统中可能是到 /usr 的符号链接
  2. /var 应该单独分区,避免日志等撑满根分区
  3. /home 通常单独分区,便于系统重装
  4. /tmp 可以使用 tmpfs 提高性能
  5. 系统目录不应手动修改,使用包管理器管理

这个目录结构是Linux系统组织和管理的核心,理解它对于系统管理和故障排查至关重要。

相关推荐
EndingCoder17 小时前
箭头函数和 this 绑定
linux·前端·javascript·typescript
食咗未17 小时前
Linux iptables工具的使用
linux·运维·服务器·驱动开发·网络协议·信息与通信
tech-share17 小时前
【无标题】IOMMU功能测试软件设计及实现 (二)
linux·架构·系统架构·gpu算力
时兮兮时17 小时前
Linux 服务器后台任务生存指南
linux·服务器·笔记
dz小伟17 小时前
从用户空间open()到驱动open()的完整调用链深度解析
linux
DeeplyMind17 小时前
第4章: MMU notifier内核实现机制
linux·驱动开发·mmu·mmu notifier
摸鱼仙人~17 小时前
RAG 系统中的 TOC Enhance:用“目录增强”提升检索与生成效果
linux·运维·服务器
xingzhemengyou117 小时前
Linux dmesg 查看系统启动日志
linux
华如锦17 小时前
一.2部署——大模型服务快速部署vLLM GPU 安装教程 (Linux)
java·linux·运维·人工智能·后端·python·vllm