Linux

Linux 目录结构

RHEL 9 根目录与 FHS 常用路径:/etc、/var、/home、/usr、/tmp 等各自放什么,以及家目录与路径读法。

Linux 没有 C 盘、D 盘的概念,一切从 /(根目录)长出来。考试和运维里,你不需要背下整棵 FHS 树,但必须在 5 秒内判断:配置该去哪改、日志去哪看、软件装到哪、用户文件在哪。本篇只讲这条「最小必备地图」。

系列:从 RHCSA 到 RHCE · 第 1 / 17 篇 下一篇:Linux 基础命令 总目录:系列索引

环境说明

  • 系统:RHEL 9 / Rocky 9 / AlmaLinux 9
  • 身份:实验可用 root;只读浏览普通用户也可以
  • 前置:会登录系统即可;具体命令在下一篇展开

为什么目录长这样

Linux 遵循 FHS(Filesystem Hierarchy Standard):用统一约定告诉发行版和用户「什么东西该放哪」。好处是:

  • 换一台 RHEL / Ubuntu,你仍知道配置大概在 /etc
  • 脚本、Ansible、RPM 包可以按固定路径安装文件
  • 权限可以按目录分区管理(例如 /home 各用户隔离)

Windows 用盘符划分存储;Linux 用一棵树划分职责。

一棵最小的目录树

/
├── bin/   sbin/   usr/     系统命令与用户软件
├── boot/                   启动相关(内核、引导)
├── dev/                    设备文件
├── etc/                    主机配置(几乎全是文本)
├── home/                   普通用户家目录
├── root/                   root 的家目录(不在 /home 下)
├── run/                    运行时数据
├── tmp/                    临时文件(重启可能清空)
├── var/                    会变化的数据:日志、缓存、spool
└── opt/                    可选的第三方软件(部分场景)

下面按「你一周内一定会用到」的频率排序。

高频目录速查

路径放什么你通常会…
/etc系统与服务配置文件vim /etc/ssh/sshd_config
/home普通用户家目录/home/tom
/rootroot 的家目录root 登录后的 ~
/var可变数据日志在 /var/log
/var/log系统与服务日志排障 less / tail
/tmp临时文件实验、解压、中间文件
/usr用户级程序与数据多数命令在 /usr/bin
/bin /sbin基础命令(常链到 /usr/bin)系统启动也会用
/boot内核、initramfs、grub一般不手改
/dev设备即文件/dev/vda、/dev/null
/opt第三方可选软件自编译或商业软件常见
/srv本机对外服务数据部分 Web/FTP 数据

RHEL 9 上 /bin、/sbin 等多为指向 /usr/* 的符号链接(usr-merge),概念上仍按上表记即可。

配置:/etc

几乎所有「改了要重启服务才生效」的文本,都在 /etc:

/etc/hostname
/etc/hosts
/etc/passwd
/etc/shadow
/etc/fstab
/etc/ssh/sshd_config
/etc/yum.repos.d/
/etc/chrony.conf
/etc/firewalld/

特点:

  • 文本为主,改完通常要 systemctl restart xxx
  • 子目录按服务划分(如 yum.repos.d、ssh)
  • 权限敏感:/etc/shadow 等普通用户不可读

考点:题目若说「修改配置文件」,九成在 /etc 下;若说「查看日志」,九成在 /var/log。

可变数据:/var

/var = variable,运行中会不断变大的东西:

路径含义
/var/log系统日志(messages、secure、各服务日志)
/var/tmp比 /tmp 更可能跨重启保留(仍视策略)
/var/spool队列(邮件、打印、cron 等)
/var/lib程序状态数据(如 RPM 库)
/var/wwwhttpd 默认网页根的常见位置

日志排障时:

ls /var/log
less /var/log/messages
tail -n 50 /var/log/secure

(具体命令下一篇与服务篇还会用到。)

家目录:/home 与 /root

用户家目录
root/root
普通用户 tom/home/tom
普通用户 lisi/home/lisi

登录后默认进入家目录;~ 就是当前用户的家目录。

[root@server ~]# pwd
/root

[tom@server ~]$ pwd
/home/tom

注意:

  • /root 不在 /home 下面,权限通常仅 root 可进
  • 用户个人配置也常在自己家目录:~/.bashrc、~/.ssh/
  • 删除用户是否连家目录一起删,是用户管理篇的考点(userdel -r)

临时目录:/tmp

  • 给所有用户写实验中间文件用
  • 有 sticky 特殊位:别人不能删你的文件(详见权限篇)
  • 重启或 systemd-tmpfiles 策略可能清理部分内容
  • 不要把唯一副本的重要数据只放在 /tmp

考试里解压、下载材料、写临时脚本,用 /tmp/xxx 很合适;正式部署别放这。

命令与软件:/bin、/sbin、/usr

路径习惯含义
/bin、/usr/bin所有用户可用的命令(ls、cp、vim…)
/sbin、/usr/sbin偏系统管理命令(reboot、ip 部分场景、sshd…)
/usr/lib、/usr/lib64库文件
/usr/share架构无关数据(文档、man 等)
/opt第三方可选软件包

用 which / type 查命令在哪(权限篇 sudo 也会用):

which ls
which useradd

RHEL 9 中 useradd 等常在 /usr/sbin;普通用户 PATH 可能不含 sbin,所以提权或用绝对路径时会写 /usr/sbin/useradd——sudoers 里尤其常见。

设备:/dev

「一切皆文件」包括设备:

路径含义
/dev/vda、/dev/sda整块磁盘
/dev/vda1分区
/dev/null黑洞,丢弃输出
/dev/zero不断输出 0
/dev/tty当前终端

存储与分区篇会大量出现 /dev/vdX;先记住:磁盘和分区在 /dev 下以文件名出现。

启动:/boot

内核镜像、initramfs、引导配置(grub)等。考试一般不要求手改 grub;误删 /boot 会导致系统起不来。做快照前不要动这个目录。

路径怎么读

写法含义例子
绝对路径从 / 开始写全/etc/hosts
相对路径从当前目录算../log、./script.sh
~当前用户家目录~/notes.txt
..上一级/var/log → .. 是 /var
.当前目录./run.sh

下一篇会大量练习 cd / ls;本篇先建立「地址簿」感:看到 /var/log/secure,应反应出——根 → 可变数据 → 日志 → 安全相关日志。

和考试场景的对应

题目表述优先去哪
修改软件仓库/etc/yum.repos.d/
修改主机名相关hostnamectl;静态解析可看 /etc/hosts
配置 SSH/etc/ssh/sshd_config
开机挂载/etc/fstab
看认证失败/var/log/secure
放网页/var/www/html(httpd 默认)
临时解压/tmp
用户家目录/home/用户名 或 /root

推荐实验(10 分钟)

以 root 登录,只做观察(勿删系统文件):

pwd
ls /
ls /etc | head
ls /var/log | head
ls /home
ls /root
which ls
which reboot
ls -ld /tmp
ls /dev/vd* /dev/sd* 2>/dev/null

期望

  • ls / 能看到 etc、var、home、root、usr、tmp、boot 等
  • which ls 有输出;reboot 可能在 /usr/sbin
  • /tmp 权限常见为 drwxrwxrwt(末位 t 即 sticky)

速查表

一句话路径
配置文件/etc
日志/var/log
普通用户家目录/home/用户名
root 家目录/root
临时文件/tmp
命令程序/bin /usr/bin(管理命令 /sbin)
磁盘分区设备/dev
启动文件/boot
第三方软件(可选)/opt

考点与易错

考点:/etc 配置、/var/log 日志、/home 与 /root 的区分——选择题和实操定位都爱考。 易错:把用户文件放到 /root 下却用普通用户去读,权限不够。 易错:以为 /tmp 重启后一定还在;重要数据只留 /tmp。 易错:在 /etc 里找不到某服务配置——有时在 /etc/服务名/ 子目录,用 ls /etc | grep 服务名。 练习环境:课堂机若叫 red,目录结构与本文一致。

小结

  1. 一棵树从 / 开始:配置在 /etc,日志在 /var/log,用户在 /home。
  2. root 的家目录是 /root,不是 /home/root。
  3. 临时文件用 /tmp,设备文件在 /dev,命令多在 /usr/bin。
  4. 路径分绝对与相对;记不住细节时,先 pwd + ls 上一级。

下一篇进入具体命令:在目录树里移动、增删文件,并把 ls -l 读成运维可用的信息。


系列导航:总目录 · 下一篇:Linux 基础命令

相关阅读

全部文章 →
← 返回列表更多「Linux」