1、Linux系统运行级别介绍

Linux默认有7个运行级别,Linux 系统任何时候都运行在一个指定的运行级别上。不同的运行级别所运行的程序和服务不尽相同,所要完成的工作和要达到的目的也不相同。

  • 0:关机。
  • 1:单用户模式,可以想象为Windows系统的安全模式,主要用于系统修复。
  • 2:不完全的命令行模式(命令行模式就是命令界面),不含NFS服务(Linux系统和Linux系统之间文件共享的一种服务)。
  • 3:完全的命令行模式,就是标准字符界面(我们之前一直使用的命令行模式,就是这种模式)。
  • 4:系统保留。
  • 5:图形模式。
  • 6:重启动。

2、查看运行级别

在Linux系统中可以使用runlevel命令来查看系统的运行级别。

命令如下:

# N代表进入这个级别前,上一个是哪个级别。3代表当前级别
[root@localhost ~]# runlevel
N 3

说明:

N就是None的意思,也就是说系统是开机直接进入的3运行级别,没有上一个运行级别。那如果是从图形界面切换到字符界面的话,再查看运行级别,就应该是5 3。

3、修改当前系统的运行级别

使用init命令即可,注意:这不是init进程。

命令如下:

  • 进入图形界面,当然Linux系统已经安装了图形界面才可以进入。

    [root@localhost ~]# init 5
  • 关机

    [root@localhost ~]# init 0
  • 重启动

    [root@localhost ~]# init 6

说明:

如果我们没有安装图形界面,执行了init 5命令,在远程终端上是没有任何反应的,而在虚拟机中,会提示如下:尝试启动图形界面运行级别失败。

但是我们在查询当前Linux系统的运行级别,执行runlevel命令时,结果显示的是3 5,记住这是一个假象,我们并没有进入到图形界面级别。

不过要注意,使用init命令执行关机和重启,这并不是太安全,容易造成数据丢失。所以推荐大家还是使用shutdown命令进行关机和重启。

关于Linux系统的关机和重启的详细说明可以查看前面文章:Linux系统的关机和重启。

4、系统默认运行级别

上边了解了什么是Linux系统的运行级别,我们把注意力拉回到系统启动的过程中。

系统默认的运行级别,就是系统启动后直接进入的运行级别。而上边说的是,查看系统当前的运行的级别,而不是查看默认的系统运行级别。

Linux系统默认运行级别,在/etc/inittab配置文件中进行配置的,文件的内容如下:

从上图中可以看到,里边的很多信息都放入到其他不同的文件中了。

说明:

  • /etc/inittab配置文件在以前的Linux发行版本中,如Red Hat 5或以前版本,/etc/inittab配置文件在系统的启动过程中,是非常重要的一个配置文件,需要加载里边的数据。但是在Red Hat 6以后,/etc/inittab配置文件的功能弱化了。

    所以Red Hat 6中,/etc/inittab配置文件的唯一作用就是配置Linux系统默认运行级别。
  • id:3:initdefault::中间的数字3的位置,就是配置Linux系统默认运行级别,写几就是对应的级别。

注意:

下图的运行级别说明中注释了,0和6级别是不能被设置成系统默认运行级别的,只能用1-5中选择系统默认的运行级别。但是在这里推荐系统的默认运行级别只能写3或5,其他的级别要不就是关机重启,要不就是保留或单用户,都不能作为系统默认运行级别的。

5、/etc/rc.d/rc.local文件说明

/etc/rc.d/rc.local配置文件是一个非常重要的文件,这个配置文件会在用户登陆之前读取,这个文件中写入什么命令,在每次系统启动时都会执行一次。也就是说,我如果有任何需要在系统启动就运行的工作,只需要写入/etc/rc.d/rc.local这个配置文件即可,如一些服务开机的时候就需要启动,可以把完整的服务启动命令配置在这里。(注意最好不要写service启动方式,写/etc/init.d/路径的方式启动)

/etc/rc.d/rc.local配置文件内容如下:

可以看到/etc/rc.d/rc.local文件是一个shell脚本,touch一个非常隐蔽的文件/var/ lock/ subsys/local文件。(touch命令:如果文件不存在,则创建该文件,如果文件存在,则修改该文件的访问时间。)

换句话说,系统每次开机,都来找这个非常隐蔽的文件,所以这个文件的修改时间就是系统的启动时间了。也就是说,这条命令的作用就是获取系统的启动时间。

同时注意一下,/etc/rc.d/rc.local配置文件还有一个软链接文件,为/etc/rc.local配置文件,(两个文件就相当于一个文件,修改哪一个都可以,软链接内容看Linux系统中的硬连接和软连接)。

/etc/rc.d/rc.local配置文件和/etc/rc.local配置文件的关系如下图:

『学了就忘』Linux启动引导与修复 — 68、Linux系统运行级别的更多相关文章

  1. 第14章 Linux启动管理(1)_系统运行级别

    1. CentOS 6.x 启动管理 (1)系统运行级别 ①运行级别 运行级别 含义 0 关机 1 单用户模式,可以想象为Windows的安全模式,主要用于系统修复.(但不是Linux的安全模式) 2 ...

  2. 『学了就忘』Linux启动引导与修复 — 72、Linux系统的修复模式(单用户模式)

    目录 1.单用户模式常见的错误修复 2.通过单用户模式修改系统密码 (1)进入grub启动引导程序中 (2)编辑相应的系统启动内容 (3)编辑grub配置文件内容 (4)启动系统 (5)修改root用 ...

  3. 『学了就忘』Linux服务管理 — 75、Linux系统中的服务

    目录 1.服务的介绍 2.Windows系统中的服务 3.Linux系统中服务的分类 4.独立的服务和基于xinetd服务的区别 5.如何查看一个服务是独立的服务还是基于xinetd的服务 (1)查看 ...

  4. 『学了就忘』Linux服务管理 — 76、RPM包安装的服务管理

    目录 1.独立服务的启动管理 2.独立服务的自启动管理 方式一: 方式二:(推荐) 方式三: 3.验证 1.独立服务的启动管理 (1)使用/etc/init.d/目录中的启动脚本启动服务(推荐) [r ...

  5. 『学了就忘』Linux启动引导与修复 — 69、启动引导程序(grub)

    目录 1.启动引导程序(Boot Loader)简介 2.启动引导程序grub的作用 3.启动引导程序grub的位置 4./grub目录中其他的文件简单介绍 提示: 简单地说,Boot Loader就 ...

  6. 『学了就忘』Linux启动引导与修复 — 70、grub启动引导程序的配置文件说明

    目录 1.grub中分区的表示方法 2.grub的配置文件 3.grub的配置文件内容说明 (1)grub的整体设置 (2)CentOS系统的启动设置 1.grub中分区的表示方法 在说grub启动引 ...

  7. 『学了就忘』Linux启动引导与修复 — 74、Linux系统的修复模式(光盘修复模式)

    目录 1.光盘修复模式概念 2.光盘修复模式修复系统问题 (1)准备系统光盘 (2)进入BIOS (3)修改BIOS的启动顺序 (4)进入光盘修复模式 (5)修复系统 (6)修复系统实操 (7)总结 ...

  8. 『学了就忘』Linux启动引导与修复 — 71、grub启动引导程序的加密

    目录 1.什么是grub加密 2.grub加密步骤 3.grub加密的lock属性 1.什么是grub加密 上篇文章说了,系统在开机的时候,有一个5秒的读秒时间,方便你进入到grub界面中. 如下图所 ...

  9. 『学了就忘』Linux文件系统管理 — 66、通过图形界面进行LVM分区

    目录 1.选择自定义分区 2.分配boot分区 3.创建LVM物理卷 4.生成卷组 5.创建逻辑卷 6.格式化安装 我们先用新安装Linux系统时的图形化界面,来演示一下LVM逻辑卷如何进行分区. 提 ...

随机推荐

  1. 前端需要了解的颜色模型,RGB、HSL和HSV

    颜色模型,是用来表示颜色的数学模型.比如最常见的 RGB模型,使用 红绿蓝 三色来表示颜色. 一般的颜色模型,可以按照如下分类: 面向硬件设备的颜色模型:RGB,CMYK,YCrCb. 面向视觉感知的 ...

  2. 一文搞懂js中的typeof用法

    基础 typeof 运算符是 javascript 的基础知识点,尽管它存在一定的局限性(见下文),但在前端js的实际编码过程中,仍然是使用比较多的类型判断方式. 因此,掌握该运算符的特点,对于写出好 ...

  3. Linux常用命令和快捷键整理:(2)常用快捷键

    前言: Linux常用快捷键和基本命令整理,先上思维导图: linux常用命令请见:https://www.cnblogs.com/yinzuopu/p/15516499.html 基本快捷键的使用 ...

  4. 【Java】数组Array

    Java基础复习之:数组 简介 数组(Array):多个相同数据类型按照一定顺序排列的集合,并使用一个名字命名,通过编号的方式对这些数据进行统一管理 一维数组 一维数组的声明与初始化 int[] id ...

  5. Maven下载、安装、配置

    简介 Maven是一个项目管理工具,主要用于Java平台的项目构建.依赖管理和项目生命周期管理. 当然对于我这样的程序猿来说,最大的好处就是对jar包的管理比较方便,只需要告诉Maven需要哪些jar ...

  6. 3D 穿梭效果?使用 CSS 轻松搞定

    背景 周末在家习惯性登陆 Apex,准备玩几盘.在登陆加速器的过程中,发现加速器到期了. 我一直用的腾讯网游加速器,然而点击充值按钮,提示最近客户端升级改造,暂不支持充值(这个操作把我震惊了~).只能 ...

  7. 第三天 while循环 及其用法

    (1)语法格式:while  条件: ..... 语法二:while  条件: break  # 跳出当前循环 语法三:while 条件: else  # 当while循环正常结束时执行该语句:只有程 ...

  8. [nowcoder5671D]Data structure

    问题相当于统计$且\sum_{l\le x<y\le r且lca(x,y)=x}1=c(sz[x],2)-\sum_{son}c(sz[son],2)$,考虑用莫队来维护区间,那么相当于要支持: ...

  9. 【JavaSE】集合

    Java集合 2019-07-05  12:39:09  by冲冲 1. 集合的由来 通常情况下,程序直到运行时,才知道需要创建多少个对象.但在开发阶段,我们根本不知道到底需要多少个数量的对象,甚至不 ...

  10. Kotlin小测试

    fun main(args: Array<String>) { var a=1 a=2 println(a)//2 println(a::class)//int (Kotlin refle ...