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

相关推荐
叼烟扛炮8 小时前
Linux 学习笔记(十五):进程的魔法 fork 与 僵尸孤儿
linux·运维·服务器
第404号工位9 小时前
插上充电宝真能偷光相册?我拆解了一台改装充电宝,实测“恶意充电”的真实攻击链
linux·python·架构
天南散修9 小时前
《802.11-2024》第06讲 · 介质接入:MAC 架构与 DCF(CSMA/CA)
linux·网络·wifi·802.11
cpolar技术支持9 小时前
磁盘明明没满,服务却写不进去?做个 inode 与分区占用只读报表页,cpolar 给异地同事看
linux·内网穿透·cpolar·inode·运维排障
Lsetea9 小时前
curl访问HTTPS返回304却没有正文:条件请求、缓存与证书验收排查
linux·http·https·ssl证书·curl
NEAI_N10 小时前
嵌入式Linux调试:microcom 串口工具
linux
叼烟扛炮10 小时前
Linux 学习笔记(九):自动化构建神器 Make 与 Makefile
linux·运维·服务器
lisanmengmeng10 小时前
监控Kubernetes集群的GPU资源(三)
linux·容器·kubernetes
蜡笔羊驼10 小时前
ModuleNotFoundError: No module named ‘torchvision.transforms.functional_tensor‘
linux·人工智能·python
箓维10 小时前
线程池&&线程安全与可重入
linux·网络·安全