对于那些在DOS/Win9x/NT平台下的高级用户而言,Linux似乎是一个怪物。没有config.sys,没有 autoexec.bat,具有个人特色的机器配置不知道从何开始。

  需要说明的是,很多人认为Linux是Unix的一个克隆,但是,这种说法对于Linux是不公平的。Linux比Unix更加开放,功能更强大。我们应该称之为GNU/Linux 。

  Linux启动时,运行一个叫做init的程序,然后由它来启动后面的任务,包括多用户环境、网络等。

  那么,到底什么是运行级呢?简单的说,运行级就是操作系统当前正在运行的功能级别。这个级别从1到6 ,具有不同的功能。这些级别在/etc/inittab文件里指定。这个文件是init程序寻找的主要文件,最先运行的服务是那些放在/etc/rc.d 目录下的文件。

  大多数的Linux发行版本中,启动脚本位于/etc/rc.d/init.d。这些脚本被ln命令来连接到 /etc/rc.d/rcn.d目录。(这里的n 就是运行级0-6) 例如/etc/rc.d/rc2.d下面的S10network就是连接到/etc/rc.d/init.d下的network脚本的。

  因此,我们可以知道,rc2.d下面的文件就是和运行级2有关的。文件开头的S代表start就是启动服务的意思,后面的数字10就是启动的顺序。例如,在同一个目录下,你还可以看到S80postfix这个文件,80就是顺序在10以后,因为没有启动网络的情况下,启动postfix是没有任何作用的。

  再看一下/etc/rc.d/rc3.d,可以看到文件S60nfslock,但是这个文件不存在于/etc/rc.d/rc2.d目录下。NFS要用到这个文件,一般用在多用户环境下,所以放在rc3.d目录下。

  另外,在/etc/rc.d/rc2.d还可以看到那些K开头的文件,例如/etc/rc.d/rc2.d/K45named,K代表kill。

  标准的Linux运行级为3或者5,如果是3的话,系统就在多用户状态。如果是5的话,则是运行着X Window 系统。如果目前正在3或5,而你把运行级降低到2的话,init就会执行K45named脚本。

  不同的运行级定义如下:(可以参考Red Hat Linux里面的/etc/inittab)

  # 缺省的运行级,RHS用到的级别如下:
  # 0 - 停机(千万不要把initdefault设置为0 )
  # 1 - 单用户模式
  # 2 - 多用户,但是没有NFS
  # 3 - 完全多用户模式
  # 4 - 没有用到
  # 5 - X11
  # 6 - 重新启动(千万不要把initdefault设置为6 )

  # 对各个运行级的详细解释:
  0 为停机,机器关闭。
  1 为单用户模式,就像Win9x下的安全模式类似。
  2 为多用户模式,但是没有NFS支持。
  3 为完整的多用户模式,是标准的运行级。
  4 一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。
  5 就是X11,进到X Window系统了。
  6 为重启,运行init 6机器就会重启。

  不同的运行级有不同的用处,也应该根据自己的不同情形来设置。例如,如果丢失了root口令,那么可以让机器启动进入单用户状态来设置。在启动后的lilo提示符下输入:

  init=/bin/sh rw

  就可以使机器进入运行级1 ,并把root文件系统挂为读写。它会跳过所有系统认证,让你使用passwd程序来改变root口令,然后启动到一个新的运行级。

Linux运行级详解的更多相关文章

  1. linux运行级

    Linux有0到6个级别,分别对应/etc/rcN.d,N对应7个级别 各运行级详解 0.关机 1.单用户模式,类似于Windows安全模式 2.多用户模式 3.完整的多用户模式.标准运行级 4.不用 ...

  2. CentOS Linux使用crontab运行定时任务详解

    参考博文: (总结)CentOS Linux使用crontab运行定时任务详解

  3. [转帖]linux screen 命令详解,xshell关掉窗口或者断开连接,查看断开前执行的命令

    linux screen 命令详解,xshell关掉窗口或者断开连接,查看断开前执行的命令 https://binwaer.com/post/12.html yun install -y screen ...

  4. Linux常用命令详解—基于CentOS7

    ## Linux 目录- /:根目录,一般只存放目录,不存放文件- /bin -> /usr/bin:可执行二进制文件的目录,也是常用命令目录,如常用的命令 ls.cat.mv 等- /boot ...

  5. Linux启动过程详解(inittab、rc.sysinit、rcX.d、rc.local)

    启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬 ...

  6. Linux启动过程详解

    Linux启动过程详解 附上两张图,加深记忆 图1: 图2: 第一张图比较简洁明了,下面对第一张图的步骤进行详解: 加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的 ...

  7. Linux /dev目录详解和Linux系统各个目录的作用

    Linux /dev目录详解(转http://blog.csdn.net/maopig/article/details/7195048) 在linux下,/dev目录是很重要的,各种设备都在下面.下面 ...

  8. Linux netstat命令详解

    Linux netstat命令详解 一  简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多 ...

  9. Linux crontab 命令详解

    在 Linux 中,任务可以被配置在指定的时间段.指定的日期.或系统平均载量低于指定的数量时自动运行.红帽企业 Linux 预配置了对重要系统任务的运行,以便使系统能够时时被更新.譬如,被 locat ...

随机推荐

  1. 变量在SSIS包中的使用

    2010~2011年经常使用SSIS包采集加工数据,后来换了工作就很少使用.最近又开始用那玩意采集数据,努力回想之前是怎样操作的,网上各种找各种纠结.趁这次使用记录下日常操作步骤,以备以后不时之需. ...

  2. GitLab + Jenkins + Docker + Kubernetes。

    目前方案是GitLab + Jenkins + Docker + Kubernetes. 方案的工作流程如下:首先,开发人员提交代码代码提交:随后,GitLab 会自动触发Jenkins job,Je ...

  3. CSS3动画产生圆圈由小变大向外扩散的效果

    涉及到 CSS3 的动画(animation).2D 转换(transform: scale),具体如代码所示. github: https://github.com/wind-stone/CSS3- ...

  4. RDIFramework.NET ━ 9.15 个性化设置 ━ Web部分

    RDIFramework.NET ━ .NET快速信息化系统开发框架 9.15  个性化设置 -Web部分 个性化设置,主要针对用户的偏好对界面进行设置,主界面如下: 9.15.1界面皮肤设置 目前框 ...

  5. js 格式化数字保留2位小数

    function toDecimal2(x) { var f = parseFloat(x); if (isNaN(f)) { return false; } var f = Math.round(x ...

  6. 夺命雷公狗-----React---10--组建嵌套进行数据遍历

    先写一个组建... 然后进行嵌套.. <!DOCTYPE html> <html lang="en"> <head> <meta char ...

  7. DIV 垂直 垂直水平 居中

    DIV 垂直 居中 让div居中对齐 使用margin-left:auto;margin-right:auto; 可以让你的div居中对齐.  .style{margin-left:auto;marg ...

  8. Mac下面的SecureCRT(附破解方案) 更新到最新的8.0.2

    继续更新到8.0.2的破解,整体的破解方案都发生了的变化首先还是去 http://macabc.com/detail.htm?app_id=24 下载最新的8.0.2介于很多小白说替换之后说文件损坏, ...

  9. mysql之show engine innodb status解读

    注:以下内容为根据<高性能mysql第三版>和<mysql技术内幕innodb存储引擎>的innodb status部分的个人理解,如果有错误,还望指正!!   innodb存 ...

  10. websphere如何删除应用程序服务器(概要管理工具)

    在IBM WebSphere 的概要管理工具中我们可以新建一个应用程序服务器,但是工具中并未提供删除已经建过的应用程序服务器.下面 交大家一个比较简单的方法来删除应用程序服务器 图片中可以看到,我已经 ...