Linux系统——运行级别
学习之前先了解下Linux系统的运行级别和其原理,博主使用的是Linux系统中的Redhat9.0版本,之后的学习也是基于这个系统版本。
Linux系统的7个运行级别(runlevel)
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
运行级别的原理:
1。在目录/etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service)
2。在/etc/rc.d下有7个名为rcN.d的目录,对应系统的7个运行级别
3。rcN.d目录下都是一些符号链接文件,这些链接文件都指向init.d目录下的service脚本文件,命名规则为K+nn+服务名或S+nn+服务名,其中nn为两位数字。
4。系统会根据指定的运行级别进入对应的rcN.d目录,并按照文件名顺序检索目录下的链接文件
对于以K开头的文件,系统将终止对应的服务
对于以S开头的文件,系统将启动对应的服务
5。查看运行级别用:runlevel
6。进入其它运行级别用:init N
7。另外init0为关机,init 6为重启系统
由于现在的Linux系统安装完后就运行在第5个级别,即系统启动后直接进入图形界面,而不用在字符模式下登录后用startx或者xinit 来起动图形界面。建议在系统安装完成后把系统的默认运行等级设置在第3级,在字符终端登录后,再手工输入startx 命令起动图形界面。可以用如下的方法修改:
用文本编辑器修改 /etc/inittab文件,把
代码:
id:5:initdefault:这一行,修改成
代码:
id:3:initdefault:保存后就reboot重起,系统就默认启动到字符界面。不同运行级别之间的 差别的在于系统默认起动的服务的不同,如运行级别3默认不启动X图形界面服务,而运行级别5 却默认起动。本质上是没有区别的,更无所谓不同级别间功能强弱的问题。用户完全可自给定义不同级别的默认服务。在任何运行级别,用户都可用init 命令来切换到其他运行级别。
具体操作过程:
- 虚拟机安装Redhat9.0版本(网上自行搜索教程,要镜像文件可以私信我)
- 系统启动后默认进入级别5(图形界面),之后的实验在此级别上展开
系统运行级的查看,可以通过执行命令方式或查看配置文件方式实现:
(1).执行命令方式:用runlevel命令可以查看以前和当前系统的运行级。 在命令行下输入 runlevel 命令,它查看的是/etc/run/utmp 文件,并在标准输出设备上输出以前和当前运行级情况,如下图所示:

N 5表示以前运行级未知,当前运行级为5,也就是当前运行级为自动启动的XFree86系统(图形方式)。
用vi编辑器打开文件etc/inittab

修改系统默认级别具体方法: 用方向键将光标移动到id:5:initdefault:一行,放到5上,Delete——>Insert 3 , 修改后结果id:3:initdefault——>Esc——>Shift——>:wq(保存并退出)——>输入命令reboot,重启后进入级别3(由于切换系统级别时后台会改变一些配置文件,因此过程会稍慢,请耐心等待)

进入系统级别3,登录用户名和密码

注意,这里输入密码是不会显示的,输入密码后直接回车

登录成功以后的界面↓,以后启动电脑后默认都是进的这个界面

(2).查看配置文件的方式,查看配置文件的方式只能查看系统当前的运行级,系统的配置文件是/etc/inittab: 我们可以通过文件编辑器打开,也可以使用打开文件的命令来查看,在命令行下输入:gedit /etc/inittab,即:(下图引用于:http://blog.csdn.net/u012561176/article/details/44248945)
看到上图红色箭头指向框框处,id:5:initdefault:,这行中的5表示当前默认的系统运行级为5,直接修改为3即可,保存,reboot,同样修改了默认系统级别为3,效果同上.
系统级别之间的快速互相切换:
演示一个级别3——>5的切换:终端命令行直接输入命令init N(N为数字0-6,不要输入0或者6),这里输入init 5,回车,进入系统级别5的图形界面,打开终端,输入命令runlevel,结果如下图所示,完成3——5的切换,其它级别互相切换同理:

- 管理系统服务
在目录/etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service);在/etc/rc.d下有7个名为rcN.d的目录,对应系统的7个运行级别.
- 终端输入命令chkconfig --list,查看各运行级别服务启动情况

附:Linux系统服务简述和作用:
http://files.cnblogs.com/files/lj-cn/Linux%E7%B3%BB%E7%BB%9F%E6%9C%8D%E5%8A%A1.js
2.如果需要自启动某些服务,只需输入chkconfig 服务名 on即可,若想关闭,将on改为off
注:在默认情况下,chkconfig会自启动2345这四个级别,如果想自定义可以加上--level选项

3.下面我们先将random服务的所有启动级别关闭,然后使用--level选项启动自定义级别

部分内容引用自该文章,转载请注明出处!
Linux系统——运行级别的更多相关文章
- Linux系统运行级别和关机重启命令介绍
Linux系统运行级别介绍 Linux系统有七种运行级别(Run Level),各个运行级别下,系统有不同的状态,各个级别的意义描述如下. 0:关键级别1:单用户运行级别,运行rc.sysinit和r ...
- 『学了就忘』Linux启动引导与修复 — 68、Linux系统运行级别
目录 1.Linux系统运行级别介绍 2.查看运行级别 3.修改当前系统的运行级别 4.系统默认运行级别 5./etc/rc.d/rc.local文件说明 1.Linux系统运行级别介绍 Linux默 ...
- linux 系统运行级别及修改[转]
Linux运行级别从0-6,共7个. 0:关机.不能将系统缺省运行级别设置为0,否则无法启动. 1:单用户模式,只允许root用户对系统进行维护. 2:多用户模式,但不能使用NFS(相当于Window ...
- Linux系统运行级别配置
Linux的运行级别 Linux的运行级别有七种,可以通过查看/etc/inittab文件进行了解: Level0:系统停机状态,默认系统运行级别不能设置为0,否则系统不能正常启动: Level1:单 ...
- Linux 系统运行级别
Linux运行级别从0-6,共7个. 0:关机.不能将系统缺省运行级别设置为0,否则无法启动. 1:单用户模式,只允许root用户对系统进行维护. 2:多用户模式,但不能使用NFS(相当于Win ...
- linux 系统运行级别(转)
Linux系统有7个运行级别(runlevel)运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆运行级别2:多 ...
- linux 系统运行级别一般为 0-6,请分别写出每个级别的含义
每个运行级别的含义 0 关机模式(不要把启动级别 运行级别设置为0) 1 单用户模式 2 无NFS多用户模式 3 文本模式(命令行模式,完整的多用户模式) 4 未使用的 5 ...
- Linux系统运行级别
- 第14章 Linux启动管理(1)_系统运行级别
1. CentOS 6.x 启动管理 (1)系统运行级别 ①运行级别 运行级别 含义 0 关机 1 单用户模式,可以想象为Windows的安全模式,主要用于系统修复.(但不是Linux的安全模式) 2 ...
随机推荐
- 一天搞定HTML----a标签02
1.细说a标签 2.代码演示 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- Java之【线程通信】--标志位练习2
定义一个线程A,输出1 - 10之间的整数,定义一个线程B,逆序输出1 - 10之间的整数,要求线程A和线程B交替输出 方法一:非标志位方法 package Homework; //1 定义一个线程A ...
- javaSE_06Java中的数组(array)-练习
(1),数组的两种遍历方式,顺序查找,二分查找,求最大最小数,冒泡排序,选择排序. public class Test1{ public static void main(String[] args) ...
- java中的中文参数存到数据库乱码问题
关于java中的中文参数乱码问题,遇见过很多,若开发工具的字符集环境和数据库的字符集环境都一样,存到数据库中还是乱码的话,可以通过以下方法解决: 用数据库客户端检查每个字段的字符集和字符集校对和这个表 ...
- UWP自定义RadioButton实现Tab底部导航
先看效果: 参照Android的实现方式用RadioButton来实现,但是Uwp的RadioButton并没有安卓的Selector选择器 下面是一个比较简单的实现,如果有同学有更好的实现,欢迎留言 ...
- APUE-文件和目录(四)文件系统
一个命令 mkfs 讲文件系统前先介绍一个用于创建文件系统的命令: mkfs mkfs [options] [-t type fs-options] device [size] 描述 mkfs用来在设 ...
- 包装FTPWebRequest类
上篇文章讨论了C#从基于FTPS的FTP server下载数据 (FtpWebRequest 的使用)SSL 加密.不过细心的朋友应该可以发现FTPWebRequest 每次都是新生成一个reques ...
- nginx之 nginx + tomcat + redis 负载均衡且session一致性
说明: 本文描述的是 nginx + tomcat + redis 实现应用负载均衡且满足session一致性,从安装到配置的全部过程,供大家学习!nginx 代理服务器ip: 10.219.24.2 ...
- java 字符串替换函数replaceAll 一次同时替换多个字符串
public static void main(String[] args) throws Exception { String src = "南京市玄武区北京东路徐州市鼓楼区戏马台&quo ...
- springboot(十四):springboot整合shiro-登录认证和权限管理
这篇文章我们来学习如何使用Spring Boot集成Apache Shiro.安全应该是互联网公司的一道生命线,几乎任何的公司都会涉及到这方面的需求.在Java领域一般有Spring Security ...