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

相关推荐
lzx_0029 小时前
Linux 进程(三) 从进程状态到僵尸进程、孤儿进程
linux·服务器
FlightYe10 小时前
音视频修炼之容器与协议(四):RTSP详解
android·linux·ffmpeg·音视频·dash
刘马想放假11 小时前
CANviz 使用指南|Linux 安装、DBC 解码、实时曲线与 J1939 实战
linux·python·websocket
kloc12 小时前
聊天室项目入口网关子服务的实现
linux·c++
GeW12 小时前
深圳APEC峰会倒计时:数据库与Linux运维的"隐形考场"
linux
梦到啥说啥13 小时前
Linux网络编程:UDP网络协议
linux·网络协议·udp
无足鸟ICT15 小时前
【RHCA+】ipcrm命令(删除IPC资源)
linux
星恒随风16 小时前
MySQL 从零入门(四):表的增删改查与基础查询详解
linux·服务器·数据库·笔记·mysql
陈希12318 小时前
Linux 网络诊断工具实战:ping、curl、tcpdump、mtr、dig 用法详解
linux·网络·tcpdump
进击的荆棘19 小时前
Linux系统——线程同步与互斥之线程池和安全
linux·运维·服务器·安全·单例模式·线程