可使用runlevel、who -r、systemctl get-default、读取/proc/sys/kernel/bootloader_type或检查init进程状态等五种方法查看linux当前运行级别,其中runlevel显示“上一个 当前”级别,who -r显示run-level字段,systemctl get-default适用于systemd系统并映射到target。

如果您在Linux系统中需要确认当前系统的运行级别,可以通过多种命令实现。以下是查看当前运行级别的具体方法:
一、使用runlevel命令查看当前和上一个运行级别
runlevel命令用于显示系统当前运行级别以及前一个运行级别,输出格式为“上一个运行级别 当前运行级别”,若系统刚启动则上一个运行级别显示为N。
1、打开终端窗口。
2、输入命令:runlevel 并按回车执行。
3、观察输出结果,例如显示 N 3 表示系统此前无运行级别(N),当前处于运行级别3。
二、使用who -r命令查看当前运行级别
who命令配合-r选项可直接显示当前运行级别及相关启动时间信息,该方式依赖于系统初始化进程(如systemd或sysvinit)维护的运行级状态记录。
1、在终端中输入命令:who -r 并回车。
2、检查输出中的run-level字段,例如显示 run-level 3 2024-05-10 09:23 表示当前运行级别为3,且自该时间起生效。
三、通过systemctl get-default查看默认目标(适用于systemd系统)
在基于systemd的Linux发行版中,传统运行级别已被target单元替代,systemctl get-default用于查询默认启动目标,该目标与传统运行级别存在映射关系(如multi-user.target对应运行级别3,graphical.target对应5)。
1、在终端中执行:systemctl get-default。
2、根据返回值判断对应运行级别:若输出为 multi-user.target,则等效于运行级别3;若为 graphical.target,则等效于运行级别5。
四、读取/proc/sys/kernel/bootloader_type文件(部分内核版本支持)
某些Linux内核版本将当前运行级别信息临时写入/proc/sys/kernel/目录下的特定文件,但该方式不具备通用性,仅作为辅助验证手段。
1、在终端中运行:cat /proc/sys/kernel/bootloader_type 2>/dev/null || echo "not available"。
2、若系统返回错误或空输出,则表明该接口未启用或不存在,应改用前述标准命令。
五、检查init进程状态并推断运行级别
通过ps命令查找init进程的PID及其命令行参数,可间接判断当前init类型及可能的运行级别设定,尤其适用于无法使用runlevel或who -r的极简环境。
1、执行:ps -p 1 -o comm= 查看PID为1的进程名。
2、若输出为 init,继续执行:cat /proc/1/cmdline | tr '\0' '\n'。
3、在输出中查找类似 3 或 5 的数字参数,该参数常表示预设运行级别。










