Linux 重要目录:/boot、/dev、/etc、/home

Linux 不同类型的数据放在不同职责的目录里

Linux 的目录结构并不是"随便放放",而是有明确分工的:系统启动需要的、硬件设备相关的、配置文件、用户数据、临时文件、软件安装位置、日志与可变数据,都会被放到各自职责明确的目录下。理解这套结构,能让你在部署、排障、做权限管理时少走很多弯路。

/boot:启动相关文件

/boot 存放系统启动过程中需要的关键文件。系统能否正常引导,很大程度依赖这里的内容。

常见包括:

  • Linux 内核文件

  • initramfs(启动时加载的临时根文件系统)

  • 引导相关配置(例如 GRUB 配置等)

这个目录不建议随意删改。很多"清理磁盘"的误操作都发生在 /boot:看似是旧文件,实际上可能是系统启动的必要组成部分,删错会直接导致机器无法启动。

/dev:设备文件

/dev 用于存放系统访问硬件的"特殊设备文件"。在 Linux 里,很多硬件设备会以"文件"的形式呈现出来。

你会在这里看到:

  • 磁盘设备(如 /dev/sda

  • 终端设备

  • 随机数设备等

排障时 /dev 很常用,例如确认磁盘设备是否存在、配合挂载命令定位目标盘等。它不是用来放普通文件的目录,而是系统与硬件交互的重要入口。

/etc:系统配置中心

/etc 是系统级配置文件的集中地,几乎所有服务与系统参数配置都能在这里找到。

典型场景:

  • SSH、网络配置

  • Web 服务(如 Nginx)配置

  • 各类系统服务的配置文件

如果你在排查"服务起不来""配置变更不生效""网络异常",通常第一时间就会去看 /etc。建议养成习惯:修改配置前先备份,尤其在线上环境,少一次备份可能会多一小时救火。

/home:普通用户主目录

/home 是普通用户的家目录所在位置。每个用户通常都有一个对应的目录,用于存储个人数据与用户级配置。

常见内容:

  • 用户自己的文件、项目目录

  • 隐藏配置文件,例如 .bashrc

  • SSH 配置目录,例如 .ssh/

从规范角度,用户级的项目文件、个人脚本、个人配置放在 /home 更合适,权限清晰,也便于备份与迁移。

/root:root 超级用户主目录

/root 是系统管理员 root 用户的家目录。它与 /home 的区别在于:root 不是普通用户,它拥有系统最高权限。

一般不建议把业务数据长期放在 /root

  • 权限过大,容易误操作

  • 团队协作不方便

  • 不利于按最小权限原则管理

更常见的做法是:root 只用于系统维护与必要的管理操作。

/run:运行时数据(重启会重建)

/run 用于存放系统自上次启动以来的运行时数据。它强调"运行中"与"临时状态",重启后会重新生成。

常见包括:

  • 进程 PID 文件

  • 锁文件

  • socket 等运行状态数据

当服务异常时,/run 有时能帮助定位"进程是否存在""socket 是否生成""锁是否残留"等问题。但需要明确:它不是持久化目录,重启后内容会被重建,不能用来保存长期数据。

/tmp:全局临时目录

/tmp 是全局可写的临时文件目录。很多程序运行时会把临时文件放在这里。

特点是:

  • 允许临时存放

  • 通常会被系统策略自动清理

  • 有些系统会设置类似"10 天未访问或未修改自动删除"的规则(策略依系统配置而不同)

因此 /tmp 不适合放重要文件,更不适合当作长期目录使用。很多"文件怎么没了"的问题,最后都能追到有人把关键东西放进了 /tmp

/var/tmp:更"长寿"的临时目录

/var/tmp 也是临时目录,但通常保留时间更长,更适合需要跨重启或希望保留久一点的临时文件。

常见策略包括:

  • 例如 30 天未修改自动删除(同样依系统配置而定)

如果你需要临时落盘,但又不希望短期内被清理,/var/tmp 往往比 /tmp 更合适。

/usr:软件与共享只读数据

/usr 通常用于存放安装的软件、共享库与只读数据,可以理解为系统级应用的主要"居住区"。

常见子目录:

  • /usr/bin:用户命令

  • /usr/sbin:系统管理命令

  • /usr/local:本地自定义安装的软件(手工安装的软件常放这里)

从实践角度:系统自带的软件和包管理器安装的软件大量集中在 /usr;而你手动编译或自定义安装的软件,很多会放到 /usr/local,这样更清晰,也不容易和系统包管理冲突。

/var:可变数据(动态变化但要长期保存)

/var 用来存放"会变化,但需要在系统重启之间保留"的数据。它和 /run 的核心区别是:/var 强调持久化,/run 强调运行时状态。

/var 常见的内容包括:

  • 数据库数据

  • 缓存目录

  • 日志文件

  • 打印后台处理文档

  • 网站内容等

排障时最常用的就是日志目录:/var/log。服务报错、启动失败、权限异常、资源问题,很多线索都在日志里。养成优先查看 /var/log 的习惯,能极大提升定位效率。

结语:为什么理解目录结构很重要

理解这些目录的职责,带来的直接收益是:

  • 部署时知道文件放哪里更规范

  • 排障时知道先查哪个目录更高效

  • 做权限与备份策略时更有依据

  • 避免误删关键目录导致系统不可用

这套结构让系统长期稳定、可维护、可扩展。只要把职责记住,Linux 的目录树就变成了导航地图。

相关推荐
天才奇男子11 小时前
HAProxy高级功能全解析
linux·运维·服务器·微服务·云原生
小李独爱秋11 小时前
“bootmgr is compressed”错误:根源、笔记本与台式机差异化解决方案深度指南
运维·stm32·单片机·嵌入式硬件·文件系统·电脑故障
学嵌入式的小杨同学11 小时前
【Linux 封神之路】信号编程全解析:从信号基础到 MP3 播放器实战(含核心 API 与避坑指南)
java·linux·c语言·开发语言·vscode·vim·ux
酥暮沐12 小时前
iscsi部署网络存储
linux·网络·存储·iscsi
❀͜͡傀儡师12 小时前
centos 7部署dns服务器
linux·服务器·centos·dns
Dying.Light12 小时前
Linux部署问题
linux·运维·服务器
S190112 小时前
Linux的常用指令
linux·运维·服务器
萤丰信息12 小时前
AI 筑基・生态共荣:智慧园区的价值重构与未来新途
大数据·运维·人工智能·科技·智慧城市·智慧园区
小义_13 小时前
【RH134知识点问答题】第7章 管理基本存储
linux·运维·服务器
运维小欣13 小时前
Agentic AI 与 Agentic Ops 驱动,智能运维迈向新高度
运维·人工智能