用init玩转 Linux 运行级别

linux之 !!命令 1、问题 在linux终端,我们知道快速用上一个命令,我们可以是用”上“键,但是这个键是键盘的右边的键,那还有其建有这个效果吗? 2、解决 我们可以使用下面的命令 !! 是刚一个毕业的应届生跑到我的位置和我说的,学到了,先记录下。... 阅读详情
也许大家偶然会发现/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目录下的一系列文件可以对你的系统的启动实现深入的定制化设置……一般的用户就不必为它操心啦。

作者:何碧筠
转载: www.bluepoint.com
YOLO26改进策略【YOLO和Mamba】| 替换骨干 Mamba-YOLO26-T !!! 最新的发文热点 模块是模型中的一个重要组成部分,其主要作用是在模型的初始阶段对输入图像进行处理,方便后续的特征提取和目标检测。以下是对。 阅读详情

相关推荐

lammps构建高熵合金模型+结构优化初步筛选能量最小的结构

lammps构建高熵合金模型+结构优化初步筛选能量最小的结构

qq_45834835的博客 2584

请前辈们帮我解决下问题!!谢谢!!

 问题1:ADO.net中常用的对象有哪些?问题2:DataReader与Dataset有什么区别?(是C#语言)

zhuhaibin6336的专栏 320

neidandao1.2.zip_发射筒_垂直 发射_垂直发射系统弹射内弹道MATLAB程序_弹射_弹道

武器垂直冷发射方式中,需要将武器弹射出发射筒,本程序涉及弹射内弹道、武器运动规律、装药设计等。

高手来帮我解决下这个问题啊..!!

我自己用.NET做了个网站..功能都实现了..    都测试好了,没问题.. 买了个域名,做好设置了..  但是进网站后点添加功能就报错..错误如下:详细信息: 若要使他人能够在远程计算机上查看此特定错误消息的详细信息,请在位于当前 Web 应用程序根目录下的“web.config”配置文件中创建一个 标记。然后应将此 标记的“mode”属性设置为“Off”。

chengbangzhu的专栏 832

很郁闷的问题,帮我解决呀!!

我在网上下了一个整站的ASP.NET的程序,可照着说明装了,老说我sql数据不存在,不知道怎么会事,明明我写一个程序可以访问那个数据库的,可运行整站程序就是不行。提示说用户“---”不存在什么的,我把我的帐户都试了一遍,都不行。不知道是什么原因??? 转载于:https://www.cnblogs.com/zqs/archive/2004/08/08/31164.html...

dieqibian1696的博客 99

js中!和!!的区别及用法,帮你解决判断多种情况的困扰

js中!的用法是比较灵活的,它除了做逻辑运算常常会用!做类型判断,可以用!与上对象来求得一个布尔值, 1、!可将变量转换成boolean类型,null、undefined和空字符串取反都为false,其余都为true。 1 !null=true 2 3 !undefined=true 4 5 !''=true 6 7 !100=false 8 9 !'abc'=false 2...

MYuanFang的博客 1515

为什么你的Windows界面字体无法自定义?No!! MeiryoUI帮你解决这个烦恼

你是否曾经想过为什么Windows系统不能像macOS那样轻松自定义界面字体?从Windows 8.1开始,微软移除了这个实用功能,让追求个性化的用户感到束手无策。但好消息是,一款名为No!! MeiryoUI的开源工具能够完美解决这个问题,让你重新掌握系统字体的控制权。 ## 🤔 问题根源:为什么Windows限制字体自定义? 微软官方给出的理由是"保持系统界面的一致性",但实际效果却限制

gitblog_00905的博客 620

面试时考题!!数据库编程方面的,帮我解决一下!!

 碰到数据库考题,请大家帮我一下!!多谢。  第二部分 (数据库试题) 一、描述:表1:科目表表名:tbgBudgetItem列名:字段名中文名数据类型PK/FK是否为NULLDefault关联表BudgetItemID主IDInt

q5qqqq的专栏 703

求大神帮我解决一下我的DEV编译器的问题!!

#include #include #define biggest 0 typedef struct { char vex[10]; int arc[20][20]; int numver,numarc; }graph; int locate(graph &g,char x) { int i; for(i=0;i { if(g.vex[i]==x) break; }

lwz_isme的博客 1430

今天遇到一个关于Hibernate程序的异常!请高手帮我解决下!!

源码信息:      Session dbsession=HbmOperate.CreateSession(); HbmOperate.beginTransaction();  String hqlbook="from Bookinfo as b where b.remaining>0 order by b.id desc";   Query qbook=dbsession.createQuery

hglIT的专栏 698

python中还在绞尽脑汁写前端?streamlit帮你解决!!

上图表示出来streamlit库的优点,它可以让我们不用前端代码,全程只是在pycharm中,创建出便捷简单的web界面。读者可以看到,我并没有编写任的前端代码,只是依靠这个streamlit库生成的web界面。首先我们让用户输入用户名,输入之后立即返回您好+用户名,生成一个滑栏,范围是从0到1440,打开网页时固定到25,并下面实时显示你选择的充电时长,下面有一个显示数据的按钮,勾选之后显示这里可以显示数据。这一步可以根据读者自身的需要加入事件监听器,丰富前端web网页功能。

bhffkt的博客 351

java Spring MVC主动解决请求跨域问题,别再依靠前端代理帮你解决问题啦,老铁!!

首先 CrossOrigin有两参数 第一个 origins 表示允许的源 给个星号表示所有的源。前端发展至今 已经有了很多代理工具可以帮助我们解决跨域。放在类名上面即可 这样 我们就相当于放开了所有的限制。而 Spring MVC 解决跨域的代码非常简单。可以看到 这次前端就很成功的将数据请求回来了。但说到底 跨域还是后端能解决的话最好。因为这里我是用的Spring MVC。很明显 这个接口发生了跨域。那么 我们先来看一个请求。我们只需要加一个注解。然后前端前端服务访问。

weixin_45966674的博客 391

Double 实现合计或者做加减乘除的的时候,可能会出现精度误差,小工具帮你解决!!

double的计算不精确,会有类似0.0000000000000002的误差,正确的方法是使用BigDecimal或者用整型   整型地方法适合于货币精度已知的情况,比如12.11+1.10转成1211+110计算,最后再/100即可   以下是BigDecimal方法:  package com.sdhsie.base.util;    import java.io.Seriali

文中肖鸟的博客 1045

Several ports (8005, 8080, 8009) required by Tomcat v9.0 Server 两种办法帮你解决!!

遇到Several ports (8005, 8080, 8009) required by Tomcat v9.0 Server at localhost are already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process

pick_ears的博客 5460

解决啦:麻烦管理员帮我改下——我的后台管理分类那里不正常啦:带css样式的那个标签不能编辑啦!!麻烦啦,谢谢啦先

麻烦管理员帮我改下——我的后台管理分类那里不正常啦:带css样式的那个标签不能编辑啦!!我就在那个分类介绍里添加啦附带(文章末尾)的那个html代码(是看支持html代码才弄得),结果就成这样啦还有我刚看拉看,连添加分类也没有啦!!,麻烦管理员啦,谢谢 呵呵,我把后台页面代码保存回来修改后,本地提交修改啦,呵呵,现在好啦,管理员不用看拉,呵呵下边我贴上图  下边是我

唯一谣|Airs|走尽天涯路|极地阳光 1081

No!! MeiryoUI:Windows系统字体定制完全解决方案

还在为Windows系统单调的界面字体感到困扰吗?No!! MeiryoUI这款免费开源工具让你轻松重获系统字体控制权,打造专属的个性化界面体验。 ## 问题根源:微软为移除字体自定义功能 从Windows 8.1开始,微软移除了系统字体自定义选项,这一决定让众多追求个性化的用户感到不便。No!! MeiryoUI的出现完美填补了这一功能空白,让你重新掌控电脑界面的美观度。 ## 核心功能

gitblog_00020的博客 710

5分钟彻底解决Windows字体美化难题:No!! MeiryoUI终极指南

还在忍受Windows系统千篇一律的界面字体吗?No!! MeiryoUI这款免费开源工具让你轻松夺回字体控制权,只需几分钟就能让电脑界面焕然一新。从Windows 8.1开始,微软移除了系统字体自定义选项,但这款工具完美填补了功能空白,让你重新掌控电脑的美观度。 ## 🎯 你的字体困扰,我们一一击破 **场景痛点分析**:你是否遇到过这些烦恼?😣 - **工作界面单调**:每天面对相同

gitblog_00877的博客 429

让你的 Kotlin 代码远离 !!

原文:How to remove all !! from your Kotlin code   简评:优雅的运用 Kotlin 的 null safety 特性,而不要简单的直接用 !!。   对于 Null 的检查是 Kotlin 的特点之一。强制你在编码过程中考虑变量是否可为 null,因此可以避免很多在 Java 中隐藏的 NullPointerException。 但是,当你用插...

a457886115的专栏 465

Windows字体自定义终极指南:No!! MeiryoUI完整解决方案

还在为Windows 8.1/10/11系统单调的界面字体而烦恼吗?No!! MeiryoUI是一款完全免费的Windows字体自定义工具,专门解决微软移除系统字体设置功能后的个性化难题。这款开源软件让你轻松自定义Windows界面字体,从标题栏到菜单项,全面美化你的系统视觉体验。无论你是设计师需要特定的工作环境,还是普通用户希望让电脑界面更符合个人审美,这款工具都能满足你的需求。 ## 🎨

gitblog_00048的博客 855

No!! MeiryoUI:免费恢复Windows字体自定义功能的终极解决方案

你是否厌倦了Windows 8.1/10/11系统千篇一律的默认字体?微软从Windows 8.1开始移除了系统界面字体自定义功能,让无数追求个性化体验的用户感到失望。No!! MeiryoUI应运而生,这款开源工具专门为Windows用户重新夺回了字体自定义权,让你可以自由调整标题栏、菜单、对话框等界面元素的字体,打造完全个性化的视觉体验。 ## 🎯 核心功能:重新掌控Windows字体设置

gitblog_00081的博客 957

No!! MeiryoUI终极指南:让Windows界面字体焕然一新

想要自定义Windows系统界面字体吗?No!! MeiryoUI是一款强大的Windows系统字体设置工具,专门为Windows 8.1/10/11用户恢复系统界面字体自定义功能。这个免费开源工具让您能够轻松调整标题栏、菜单、对话框等各个界面元素的字体,打造个性化的Windows视觉体验。 ## 🔧 为什么需要No!! MeiryoUI? 自Windows 8.1以来,微软移除了系统界面字

gitblog_00715的博客 933
上一篇: 使用 netfilter/iptables 为 Linux(内核 2.4.x )配置防火墙
下一篇: 监视你的网络是否受到攻击
zcatlinux
博客等级 码龄22年 56粉丝 760原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值