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系统组织和管理的核心,理解它对于系统管理和故障排查至关重要。

相关推荐
orion571 天前
Missing Semester Class1:course overview and introduction of shell
linux
用户120487221611 天前
Linux驱动编译与加载
linux·嵌入式
用户805533698032 天前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式
用户805533698032 天前
RK-Forge外设系列开篇 - 把板子从「能启动」变成「能用」:Ethernet/SPI/MMC 三个纯接线外设
linux·github·嵌入式
七歌杜金房2 天前
我终于又有了自己的 Linux 电脑
linux·debian·mac
tntxia3 天前
linux curl命令详解_curl详解
linux
扛枪的书生3 天前
Linux 网络管理器用法速查
linux
顺风尿一寸3 天前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
XIAOHEZIcode4 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫4 天前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux