也许大家偶然会发现/sbin里有个init命令。你知道它是如何使用的吗?
  如果你不喜欢使用图形登录方式,如何能够让用户在控制台下运行startx命令呢?
  有时你要维护服务器,暂时不希望别的用户登录系统,但自己仍对网络有访问权,又该怎么办呢?
  其实,如果你知道了三个问题之间的关系,它们就不成问题了。让我们这里入手了解一下Linux的运行级别(runlevel)吧!
  其实init是Linux系统里的根进程,是系统所有进程的祖先。它的主要作用是根据记录在/etc/inittab里的一个脚本(script)程序产生进程。这个文件通常用于控制用户的登录模式。Linux系统的有效登录模式有0~9共十种,不过沿用UNIX系统的至多6种的限制,一般只有1到6有效。
  init一般在系统启动时自动运行,也可以由root用户调用。它的作用是切换系统的运行状态。它的命令格式是:init NUM〈回车〉,其中NUM表示1到6的任一数字。
  6种模式中有两种是系统内定的:
  0:停止系统运行。init 0〈回车〉相当于 halt〈回车〉。
  6:重启系统。init 6〈回车〉相当于 reboot〈回车〉。
  如果你了解/etc/inittab文件,就千万不要把0设为缺省登录模式,否则你的Linux的运行就只能两点一线了——开机←→停机,或者是开机←→重启的无限循环。
  其他的4种模式实际上是由操作系统确定的。如果你愿意修改Linux的源代码,你也可以定义这4种(甚至6种)模式的实际功能。其实只要知道Linux发布厂商的约定就足够了,下面我们就以蓝点2.0为例,看看init的常用约定吧——
  init 1——进入单用户模式。
  这和开机是选择Safe Mode是一样的,可以以root的权限对系统进行管理,但是不能进入图形模式,也不支持中文,声卡和网络服务等就更不用提了。总之,它是系统可运行的最低软硬件配置。
  它和Windows的安全模式是比较相似的,但一个本质的差别:在于只要你在Linux下运行相应的命令,硬件设备是可以在这种模式下被驱动的。例如只要你的光驱连线正确,一个mount /dev/cdrom命令,你的光盘内容就随时可以在/mnt/cdrom里读出来。
  要注意的是这一模式的字符控制台不能支持中文,但进入Xwin仍然能看到蓝点漂亮的中文字体,输入法也完全没有问题。
  init 2——进入无网络服务的多用户模式
  如果你的计算机根本没有连网,这个模式就跟普通模式一样了。否则的话别人就不能通过网络www、ftp或telnet登录你的计算机了,但对与ping 命令你的计算机还是会作出反应的。如果连ping你也拒绝访问,那么就不如直接把网线拔了!如果你的计算机作为网络服务器,这一模式就挺有用了。譬如你要修整系统或更新网站内容,就可以把计算机调到这一模式,然后放心的进行你的工作,等工作完成后再切换到模式3或5就行了。但注意如果原来已经有用户ftp或telnet进入了你的系统,用init 2 是不能中断他和你的连接的,小心让别人在这个时候黑你一把哦!——执行init 2前先用who命令检查一下吧。
  这一模式下,在本机上的使用基本不变。你仍然可以访问网络,上Internet,ftp或telnet到网络中的任何一台服务器。只是你的计算机在网络中不给其他机器提供服务而已。计算机从第3运行级转入这一模式时你会看到一系列网络服务被停止。
  init 3或init 4——进入控制台登录的多用户模式
  这是蓝点1.0的默认登录模式,每个用户都要先从黑白屏幕登录之后才可以运行才能startx进入KDE精彩的图形世界。而且Xwin启动后,运行 startx的控制台就被锁定了,除非你用startx &把Xwin放到后台运行。要到别的控制台用Ctrl+Alt+F*,*表示数字1到6中任一个,Ctrl+Alt+F7则回到图形模式专用的7 号控制台(有时要用Ctrl+Alt+F8)。
  如果是从init 1 或init 2切换回init 3,我们可以看到一系列服务被重启。
  init 5——进入图形化登录的多用户模式
  这是蓝点2.0安装后默认的启动模式。系统启动后或执行init 5命令后,悦目的蓝绿过渡色背景上就出现了漂亮的登录窗口。
  所有帐号名都以图标的方式出现在窗口里等待选择,不必自己输入。不过系统管理员可能不高兴——这样系统里有多少用户岂不是让人一目了然?不过在KDE控制中心中修改就可以解决问题的,我就不多说啦。
  如果系统出了问题,只要启动仍然能进入这个界面(说明X服务器没有问题),root帐号也可以从这里进入Linux的安全模式,就是在左下角的选择框把模式从kde换为save failed就行了。当然进入的界面绝对没有美观可言,但用于修复X窗口管理器或应用程序的问题是必不可少的。
  登录窗口刚出现时1到6控制台常常都是锁定的。但在某个用户登录成功或失败后,1到6的控制台就会变得全部可用。是不是有点莫名其妙?有时你还要在切换之后多按几个回车甚至Ctrl+C才行呢。
  现在就来解决文章开头所提的第二个问题吧——方法有两种:传统的方法就是root运行setup命令,重新配置X窗口系统,指定下次系统启动时不自动进入图形模式;另一种方法就是到控制台1到6的其中一个,键入init 3〈回车〉,图形登录窗口就会从7号控制台消失了,任何用户都可以使用startx登录系统。
  init 5这个模式不能和其他模式进行太多的切换。否则系统Linux就开始自我感觉不良好了,于是就重启计算机以恢复元气——Linux有时也要打打喷嚏的。
  更深入的了解……
  上述介绍的几种模式玩够了吗?
  如果你想知道更多,就不妨打命令man init看看完全版的手册,枯燥的手册会告诉你:命令init结合/etc目录下的一系列文件可以对你的系统的启动实现深入的定制化设置……一般的用户就不必为它操心啦 。

#0-停机(千万不要把initdefault设置为0)
#1-单用户模式
#2-多用户,没有NFS
#3-完全多用户模式(标准的运行级)
#4-没有用到
#5-X11(xwindow)
#6-重新启动(千万不要把initdefault设置为6)
这些级别在/etc/inittab 文件里指定。这个文件是init 程序寻找的主要文件,最先运行的服务是放在/etc/rc.d目录下的文件。在大多数的Linux 发行版本中,启动脚本都是位于 /etc/rc.d/init.d中的。这些脚本被用ln 命令连接到/etc/rc.d/rcn.d 目录。(这里的n 就是运行级0-6)

linux运行级别的更多相关文章

  1. linux运行级别[转自网络]

    运行级别就是操作系统当前正在运行的功能级别.级别是从0到6,具有不同的功能.这些级别定义在/ect/inittab文件中.这个文件是init 程序寻找的主要文件,最先运行的服务是那些放在/etc/rc ...

  2. linux 运行级别与chkconfig

    一.Linux的运行级别 在装MySQL的时候,才知道了Linux的运行级别这么一回事.汗…自己太水了…下面总结一下: 什么是运行级别呢?简单点来说,运行级别就是操作系统当前正在运行的功能级别.级别是 ...

  3. 误把Linux运行级别设置为6后的解决方法【转】

    本文转载自:http://www.wuji8.com/meta/841011126.html 误把Linux运行级别设置为6后的解决方法     我们知道,Linux有7个运行级别,而运行级别设置为6 ...

  4. Linux运行级别研究(转)

    Linux系统中的运行级别 7种运行级别 运行级别(Runlevel)指的是Unix或者Linux等类Unix操作系统的运行模式,不同的运行模式下系统的功能也有所有不同.Linux 系统下通常分为7种 ...

  5. 修改linux运行级别

    1.Linux下的7个运行级别 0 系统停机模式,系统默认运行级别不能设置为0,否则不能正常启动,机器关闭. 1 单用户模式,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登 ...

  6. linux运行级别和开机流程

    linux有七个运行级别 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆 运行级别2:多用户状态(没有NF ...

  7. Linux:运行级别,root密码重置,救援模式,安装图形化界面

    运行级别,root密码重置,救援模式,安装图形界面 运行级别 1.查看当前系统的运行级别 runlevel 2.认识各个运行级别以及开机自启运行级别 Linux系统运行级别共7个执行 vi /etc/ ...

  8. Linux运行级别及解释

    Linux中有七个运行级别,分别为0~7 0级:关机 1级:单用户(找回丢失密码) 2级:多用户无网络 3级:多用户有网络,最常用的级别 4级:保留,目前Linux暂无使用 5级:图像界面 6级:重启 ...

  9. Linux 运行级别

    本文同时发表在https://github.com/zhangyachen/zhangyachen.github.io/issues/47 运行级别 不同运行级别的描述 运行级别0:系统停机状态,系统 ...

随机推荐

  1. Memcached,你懂的

    一.Memcached简介 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网 ...

  2. synchronized四要素及抽象

    面向对象,java的核心思想就是面向对象编程,以贴近人类在现实生活中的思考方式,任何事物我们都会把它抽象成一个对象,一辆车,一个人,对象是我们思考的基石. 我想说的是,我们写汉字的时候,不会在脑海中命 ...

  3. linux学习第一天

    linux touch 文件名mkdir -P 路径文件 cat 打开文件 vihostname 主机名ln 复制 ln -s 快捷方式cp 复制-r复制整个目录-p保持源文件属性不变-f强制复制mv ...

  4. C++之路进阶——codevs3566(紧急疏散)

    3566 紧急疏散  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold     题目描述 Description 发生了火警,所有人员需要紧急疏散!假设每个房间是一 ...

  5. ArcGis for Android 工作与学习

    ArcGis安装 需求 windows7(32/64) Eclipse3.6以上版本 Android Sdk 2.2以上 Jdk 7 安装步骤 Eclipse安装 下载ArcGis插件 在Eclips ...

  6. (转)Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

    详细解读Jquery各Ajax函数: $.get(),$.post(),$.ajax(),$.getJSON() 一,$.get(url,[data],[callback]) 说明:url为请求地址, ...

  7. java实现二分查找

    /** * 二分查找 * @param a * @param n * @param value * @return * @date 2016-10-8 * @author shaobn */ publ ...

  8. (转)sl简单自定义win窗体控件

    sl简单自定义win窗体控件      相信大家接触过不少win窗体控件ChildWin子窗口就的sl自带的一个  而且网上也有很多类似的控件,而今天我和大家分享下自己制作个win窗体控件,希望对初学 ...

  9. 当java出现异常,应如何进行处理

    Java异常是一个描述在代码段中发生的异常(也就是出错)情况的对象.当异常情况发生,一个代表该异常的对象被创建并且在导致该错误的方法中被抛出(throw).该方法可以选择自己处理异常或传递该异常.两种 ...

  10. anagularJs指令的controller,link,compile有什么不同

    /directives.js增加exampleDirective phonecatDirectives.directive('exampleDirective', function() { retur ...