linux系统都有哪些运行级别?请分别解释一下
封面图
•
2025-12-19
•
Linux
212
0
0
0
在Linux系统中,**运行级别(Runlevel)** 是指系统启动后进入的模式或状态。不同的运行级别对应着不同的系统功能和用户交互方式。这个概念最初来自 **System V init** 系统,后来在一些较新的系统中被 **systemd** 所替代,但运行级别的概念仍然存在。 --- ## 一、常见的运行级别(Runlevels) 以下是传统 Linux 系统中定义的运行级别(通常适用于使用 `init` 的系统,如 CentOS 6 及更早版本): | 运行级别 | 数字表示 | 说明 | |----------|----------|------| | 0 | 0 | **关机(Shutdown)**:停止所有进程并关闭系统。 | | 1 | 1 | **单用户模式(Single-user mode)**:仅允许 root 用户登录,用于系统维护。 | | 2 | 2 | **多用户模式(Multi-user mode)**:不带网络服务的多用户模式。 | | 3 | 3 | **多用户模式(Multi-user mode with networking)**:完整的多用户模式,支持网络服务,常用于服务器。 | | 4 | 4 | **未定义/自定义(Unused / Custom)**:通常未使用,可以自定义用途。 | | 5 | 5 | **图形界面模式(Graphical User Interface, GUI)**:带有图形界面的多用户模式。 | | 6 | 6 | **重启(Reboot)**:重新启动系统。 | --- ## 二、各运行级别的详细解释 ### 1. **运行级别 0:关机** - 系统会停止所有服务和进程,然后关闭电源。 - 常用命令:`init 0` 或 `shutdown -h now` ### 2. **运行级别 1:单用户模式** - 也称为“维护模式”或“救援模式”。 - 仅允许 root 用户登录,没有网络连接。 - 用于系统故障排查、文件修复等。 - 常用命令:`init 1` 或 `telinit 1` ### 3. **运行级别 2:多用户模式(无网络)** - 多用户登录,但不启用网络服务。 - 一般用于小型系统或特定环境。 - 命令:`init 2` ### 4. **运行级别 3:多用户模式(有网络)** - 完整的多用户模式,支持网络服务。 - 适用于大多数服务器系统(如 CentOS 6)。 - 命令:`init 3` ### 5. **运行级别 4:自定义模式** - 通常未使用,可由管理员自定义用途。 - 命令:`init 4` ### 6. **运行级别 5:图形界面模式** - 提供图形化界面(GUI),适合桌面用户。 - 在 CentOS 6 中默认为 5,而在某些发行版中可能默认是 3。 - 命令:`init 5` ### 7. **运行级别 6:重启** - 系统会重新启动。 - 常用命令:`init 6` 或 `reboot` --- ## 三、在 systemd 系统中的变化(如 CentOS 7+、Ubuntu 16.04+) 从 **systemd** 引入后,运行级别(runlevel)的概念被 **目标(target)** 所取代,但依然保留了类似的功能。 ### 常见的 systemd 目标(targets): | Target | 对应 runlevel | 说明 | |--------|---------------|------| | `poweroff.target` | 0 | 关机 | | `rescue.target` | 1 | 单用户模式(救援模式) | | `multi-user.target` | 2/3 | 多用户模式(无图形) | | `graphical.target` | 5 | 图形界面模式 | | `reboot.target` | 6 | 重启 | ### 查看当前运行目标: ```bash who -r ``` 或 ```bash systemctl get-default ``` ### 切换目标: ```bash systemctl isolate multi-user.target # 切换到多用户模式 systemctl isolate graphical.target # 切换到图形界面 ``` --- ## 四、总结 | 运行级别 | 说明 | 适用场景 | |----------|------|----------| | 0 | 关机 | 系统关闭 | | 1 | 单用户模式 | 维护、修复 | | 2 | 多用户(无网络) | 特定服务器环境 | | 3 | 多用户(有网络) | 服务器标准模式 | | 4 | 自定义 | 非标准用途 | | 5 | 图形界面 | 桌面系统 | | 6 | 重启 | 系统重启 | --- 如果你使用的是 **systemd** 系统(如 CentOS 7+、Ubuntu 18.04+),建议使用 `systemctl` 命令来管理目标(target),而不是传统的 `init` 命令。
上一篇:
Linux内核的同步机制是什么?主要有哪几种内核锁
下一篇:
如何利用cmp命令比较文件?
标题录入,一次不能超过6条
留言
评论