Linux init 命令
Linux 命令大全
什么是 init 命令
init 是 Linux 系统中最重要的进程之一,它是系统启动后由内核创建的第一个用户级进程(PID=1),负责启动和管理系统中的所有其他进程。
关键特性
进程管理:作为所有进程的父进程
运行级别控制:管理系统不同的运行状态
服务管理:启动和停止系统服务
系统初始化:执行启动脚本和配置
init 命令的基本语法
init [运行级别]
运行级别说明
Linux 系统定义了 7 个标准运行级别:
运行级别
描述
典型用途
0
关机
系统关机状态
1
单用户模式
系统维护/root权限
2
多用户模式(无NFS)
基本多用户模式
3
完整多用户模式
标准命令行界面
4
保留
用户自定义
5
图形界面模式
带GUI的多用户模式
6
重启
系统重启
init 命令的实际应用
1. 查看当前运行级别
实例
who -r
# 或
runlevel
2. 切换运行级别
实例
init 3 # 切换到多用户命令行模式
init 5 # 切换到图形界面模式
init 0 # 关机
init 6 # 重启系统
3. 紧急情况处理
实例
init 1 # 进入单用户维护模式(需要root权限)
现代Linux系统中的init演变
1. System V init
传统初始化系统,使用/etc/inittab配置文件
实例
# 典型inittab条目示例
id:3:initdefault: # 默认运行级别
si::sysinit:/etc/rc.d/rc.sysinit # 系统初始化脚本
2. Upstart (Ubuntu早期版本使用)
事件驱动的init系统
3. systemd (现代主流发行版)
实例
systemctl isolate multi-user.target # 相当于init 3
systemctl isolate graphical.target # 相当于init 5
实践练习
练习1:运行级别切换实验
从图形界面切换到命令行模式
init 3
观察服务变化后切换回图形界面
init 5
练习2:系统维护模式体验
进入单用户模式
init 1
执行文件系统检查
fsck /dev/sda1
注意事项
权限要求:init命令通常需要root权限
谨慎使用:直接使用init 0或init 6可能导致未保存数据丢失
系统差异:不同发行版可能有不同的init实现
服务影响:切换运行级别会停止/启动相关服务
常见问题解答
Q:为什么我的系统没有/etc/inittab文件?A:使用systemd的系统不再需要inittab,配置方式已改变
Q:如何设置默认运行级别?对于systemd系统:
systemctl set-default multi-user.target # 相当于运行级别3
Q:init和shutdown命令有什么区别?两者最终都会关机,但shutdown提供了更多选项(如延迟关机、广播通知等)
Linux 命令大全