17370845950

linux初始化系统是什么-init 命令使用与实例

Linux init 命令


什么是 init 命令

init
是 Linux 系统中至关重要的进程之一,它是操作系统启动后由内核运行的第一个用户级进程(PID=1),负责启动和管理系统中的其他所有进程。

核心特点

  • 进程控制:作为所有进程的根进程
  • 运行状态管理:控制系统不同运行模式
  • 服务调度:加载和关闭系统服务
  • 初始化操作:执行开机脚本和设置参数

init 命令的基本格式

init [运行级别]

运行级别说明

Linux 定义了 7 种标准运行级别:

运行级别 描述 常见用途
0 关机 关闭系统电源
1 单用户模式 用于系统维护/管理员权限
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采用)

基于事件触发的初始化系统

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

使用须知

  1. 权限限制:init命令一般需要超级用户权限
  2. 操作谨慎:直接使用init 0或init 6可能导致未保存数据丢失
  3. 版本差异:不同发行版可能采用不同的init实现
  4. 服务变动:切换运行级别会引发相关服务的启停

常见疑问解答

:为什么我的系统找不到/etc/inittab?
答:采用systemd的系统已不再使用inittab,配置方法已更新

问:如何修改默认运行级别?
对于systemd系统:

systemctl set-default multi-user.target  # 类似于运行级别3

问:init和shutdown命令有何区别?
两者最终都会关机,但shutdown提供了更多功能(如定时关机、通知用户等)