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 命令进行关机和重启。
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 配置文件,(两个文件就相当于一个文件,修改哪一个都可以 /etc/rc.d/rc.local 配置文件和/etc/rc.local 配置文件的关系如下图:

下载地址: RHCE桥接,免密登录和修改端口号介绍 nginx.pid打开失败以及失效的解决方案 |