🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
![](https://img.kancloud.cn/48/7f/487f0f6bf1bcee8ae38e18ef89a2159e_964x709.png) # 运行级别 **Linux预置七种init运行级别(0-6):** 1. 关机模式    (相当于poweroff) 2. 单用户模式 3. 无网络支持的多用户模式 4. 有网络支持的多用户模式(也就是文本模式,工作中最常用的模式) 5. 保留,未使用 6. 有网络支持的X-windows支持多用户模式(也就是桌面图形模式) 7. 重新引导系统,即重启    (相当于reboot) # init程序类型 ~~~ **SysV:**init, CentOS 5之前, 配置文件: /etc/inittab。 **Upstart:**init,CentOS 6, 配置文件: /etc/inittab, /etc/init/*.conf。 **Systemd:**systemd, CentOS 7,配置文件: /usr/lib/systemd/system、 /etc/systemd/system。 ~~~ # init进程启动 ~~~ 1. init读取 /etc/inittab文件 获取默认运行级别 例如: id:3:initdefault: 2. 根据默认级别运行对应级别服务程序 /etc/rc0.d   /etc/rc1.d  /etc/rc2.d   /etc/rc3.d   /etc/rc4.d   /etc/rc5.d   /etc/rc6.d /etc/rcS.d 单用户模式启动 目录里存放的是 指向 /etc/init.d/下的链接 3. 执行用户登录 ~~~ # 登录方式 1. 命令行登录、 2. ssh登录、 3. 图形界面登录 这三种情况,都有自己的方式对用户进行认证 ![](https://img.kancloud.cn/e8/84/e88412d46e7449bd399c1266c9d07987_760x208.png) 1)命令行登录:init进程调用getty程序(意为get teletype),让用户输入用户名和密码。输入完成后,再调用login程序,核对密码(Debian还会再多运行一个身份核对程序/etc/pam.d/login)。如果密码正确,就从文件 /etc/passwd 读取该用户指定的shell,然后启动这个shell。 2)ssh登录:这时系统调用sshd程序(Debian还会再运行/etc/pam.d/ssh ),取代getty和login,然后启动shell。 3)图形界面登录:init进程调用显示管理器,Gnome图形界面对应的显示管理器为gdm(GNOME Display Manager),然后用户输入用户名和密码。如果密码正确,就读取/etc/gdm3/Xsession,启动用户的会话。 ## 配置文件配置调用 ~~~ 1. /etc/profile 所有的用户都有效,设置全局环境变量等信息 2. 依次寻找下面文件, 针对当前用户有效 1. /etc/profile 2. ~/.bash_profile  3. ~/.bashrc 4. /etc/bashrc 5. ~/.profile 3. no-login 用户(就是手动打开shell) 执行.bashrc、 gui界面打开shell执行 1. /etc/bash.barhrc 所有用户都起作用,打开shell自动加载 2. ~/.bashrc 当前用户有效,打开shell自动加载 ~~~ # 系统退出和关机 > ## shutdown ~~~ -h 关闭系统 -p 关闭系统同时关闭电源 -r 重启系统 -c 撤销shutdown发出的关闭命令 -k -iL 切换运行级别 -y 所有需要回答者均回答yes ~~~ > ## 系统关闭和重启 ~~~ //重启系统 reboot init 6 shutdown -r now shutdown -r +0 //关闭系统 poweroff init 0 shutdown -h now shutdowm -p +0 halt init s 切换运行级别 ~~~