Linux runlevel 命令超详细教程|系统运行等级查看与实战指南

📅 2026/8/5 16:37:01
Linux runlevel 命令超详细教程|系统运行等级查看与实战指南
1. 命令简介runlevel 命令用于打印当前 Linux 系统的运行等级runlevel以及前一个运行等级。运行等级是系统的一种软件配置它决定了系统启动后哪些服务会被运行。该命令通常由系统管理员在系统维护、故障排查或服务管理时使用以快速了解系统当前所处的状态。2. 语法格式bash运行runlevel [选项]说明该命令通常不带任何选项直接运行。输出格式为前一个运行等级 当前运行等级。如果前一个运行等级未知例如系统启动后未切换过等级则会输出 N 代替。3. 常用选项及说明runlevel 命令本身没有常用选项。它是一个简单的工具直接执行即可获取信息。4. 示例用法示例 1查看当前运行等级直接运行 runlevel 命令查看系统当前和前一个运行等级。bash运行runlevel输出示例plaintextN 5这表示系统启动后未切换过运行等级前一个为 N当前运行等级为 5通常代表图形界面多用户模式。示例 2结合系统日志查看运行等级变化在切换运行等级如使用 init 或 telinit 命令后再次运行 runlevel 可以查看变化。bash运行# 假设当前等级为5切换到等级3多用户文本模式 sudo init 3 # 再次查看运行等级 runlevel输出示例plaintext5 3这表示前一个运行等级是 5当前运行等级是 3。示例 3在脚本中判断运行等级可以在 Shell 脚本中使用 runlevel 命令的输出进行条件判断。bash运行#!/bin/bash current_runlevel$(runlevel | awk {print $2}) if [ $current_runlevel 3 ]; then echo 当前运行在多用户文本模式 elif [ $current_runlevel 5 ]; then echo 当前运行在图形界面模式 fi5. 注意事项权限要求runlevel 命令通常不需要特权root权限即可执行任何用户都可以查看当前运行等级。运行等级定义不同的 Linux 发行版对运行等级的定义可能略有差异但通常遵循以下常见约定0停机halt1单用户模式single user mode用于维护2多用户模式无网络文件系统NFS某些发行版3完全多用户文本模式常用服务器默认等级4用户自定义通常未使用5图形界面多用户模式常用桌面默认等级6重新启动rebootS 或 s单用户模式用于启动过程与 1 类似但略有不同具体定义请参考发行版文档如 /etc/inittab 或 systemd 对应的 target。与 systemd 系统的兼容性在现代使用 systemd 的 Linux 发行版如 RHEL/CentOS 7、Ubuntu 16.04中运行等级的概念被 “目标”target所取代。runlevel 命令仍然可用但实际上是映射到对应的 systemd target例如运行等级 3 对应 multi-user.target等级 5 对应 graphical.target。可以使用 systemctl get-default 查看默认目标用 systemctl isolate 切换目标。输出解读如果系统启动后从未切换过运行等级则前一个运行等级会显示为 NNone。如果显示 unknown可能表示系统运行在非标准环境或存在配置问题。相关命令who -r显示当前运行等级、上次切换时间等信息在某些系统上更详细。init 或 telinit用于切换运行等级需 root 权限。systemctl在 systemd 系统中管理目标和服务的命令。通过 runlevel 命令管理员可以快速确认系统的基础运行状态是系统管理和维护中的一个实用工具。Linux 学习资料 https://pan.baidu.com/s/1A6qqBk2ViE_Le2cQjSowkQ?pwd7uz8