导读:本期聚焦于小伙伴创作的《Linux系统运行级别有哪几个?各自作用是什么?》,敬请观看详情。把服务器切到错误运行级别可能导致远程连接直接断开,这是运维中容易踩的坑。Linux传统SysVinit定义了0到6共七个运行级别,分别对应关机、单用户修复、多用户无网络、完整多用户、保留、图形界面和重启。如今多数发行版改用systemd,用target单元映射这些级别,例如multi-user.target等价于级别3,graphical.target对应级别5。理解级别差异能帮你在救援模式排错、禁用图形界面节省资源,或自动化切换系统状态。掌握runlevel命令与init或systemctl的切换方式,是稳定管理Linux主机的基础。

Linux运行级别(runlevel)是用来表示系统当前工作状态的一组数字标识,它决定了系统启动后哪些服务会被加载、是否开启网络、是否有图形界面等。早期Unix衍生系统就引入了这一概念,Linux沿用了相同的设计,并通过init进程或现代的systemd来管理。

Linux系统运行级别有哪几个?各自作用是什么?

一、传统的七个运行级别

在采用SysVinit作为初始化系统的Linux发行版中,运行级别从0到6一共分为七个,每个级别都有明确用途。这种划分方式简单直观,管理员可以通过修改/etc/inittab文件来设定系统默认级别。

下面列出标准定义:

  • 0:关机级别,系统会停止所有服务并断电,绝不能设为默认级别。
  • 1:单用户模式,也叫维护模式,仅加载最小系统,不启用网络,用于root密码重置或文件系统修复。
  • 2:多用户模式,但默认不启用网络文件系统(NFS),部分发行版中它与级别3无差别。
  • 3:完整的多用户文本模式,支持网络与所有标准服务,服务器最常使用的级别。
  • 4:保留级别,发行版可自定义,通常未被使用。
  • 5:图形界面多用户模式,在级别3基础上启动显示管理器(如GDM、LightDM)。
  • 6:重启级别,系统会关闭后重新引导,同样不能设为默认。

使用runlevel命令可以查看当前与上一次的运行级别。例如输出“N 3”表示系统直接以级别3启动,没有之前的级别。切换级别可使用init命令,如init 0关机,init 6重启。

# 查看当前运行级别
runlevel

# 切换到单用户模式(需root权限)
init 1

# 切换到图形界面
init 5

二、systemd对运行级别的替代

现代主流发行版(如CentOS 7+、Ubuntu 16.04+)使用systemd替代了init,运行级别的概念被“target”单元取代,但为了保持兼容,systemd仍提供了级别映射。理解这种映射关系,才能在老教程与新系统之间无缝操作。

常见的target与级别对应如下:

运行级别systemd target说明
0poweroff.target关机
1rescue.target单用户救援
3multi-user.target多用户文本
5graphical.target图形界面
6reboot.target重启

使用systemctl命令可以查看和切换状态。例如systemctl isolate multi-user.target等价于init 3,而systemctl get-default能显示默认启动目标。若要将服务器固定为文本模式,可执行systemctl set-default multi-user.target

# 查看默认目标
systemctl get-default

# 临时切换到多用户文本模式
systemctl isolate multi-user.target

# 设置开机默认进入图形界面
systemctl set-default graphical.target

三、运行级别的实际应用与注意事项

在服务器运维中,合理运用运行级别能提升安全性与资源利用率。比如云主机一般设为级别3,避免图形界面占用内存;当系统因驱动问题无法进入图形界面时,可于启动菜单添加systemd.unit=rescue.target参数进入单用户排错。

需要注意的是,直接执行init 0init 6会立即终止服务,生产环境应先确认无正在运行的任务。另外,在systemd系统中虽可用init命令,但推荐用systemctl以避免兼容层带来的细微差异。错误将默认级别设为0或6会造成系统循环关机或重启,必须通过救援盘修改配置修复。

提示:若使用SSH远程管理,切换至单用户模式(级别1)会断开网络,务必通过控制台操作。

掌握Linux运行级别不仅有助于故障恢复,也是理解系统启动流程的基础。无论是老系统的/etc/rc.d/脚本,还是新系统的target依赖树,核心思想都是按级别加载对应服务集。

Linux运行级别initsystemd修改时间:2026-08-11 12:30:23

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。