实验七 命令操作

实验七 命令操作

一、       学习以下内容,并做相应习题。

3.3 GRUB

从用户按下电源,BIOS开机自检,按BIOS中设置的启动设备(通常是硬盘)启动,接着启动引导程序GRUB,首先进行内核的引导,接下来执行init程序,完成系统初始化后,打开终端用户登录系统,用户登录后进入shell,这样就完成了从开机到登录的整个启动过程。

GNU GRUB(Grand Unified Bootloader)是一个将引导装载程序安装到主引导记录的程序,主引导记录是位于一个硬盘开始的扇区。它允许位于主引导记录区中特定的指令来装载一个GRUB菜单或是GRUB的命令环境。这使得用户能够开始操作系统的选择,在内核引导时传递特定指令给内核,或是在内核引导前确定一些系统参数(如可用的RAM大小)。

3.3.1GRUB的配置文件

GRUB的配置文件位于/boot/grub/grub.conf其内容如图3-21所示。

图3-21 GRUB的配置文件

其中,default=X为默认启动的系统,0为排在第一个的系统,以此类推;

timeout=X为Grub菜单停留的时间,单位为秒;如果timeout被设置为0,那么用户就没有任何选择余地,Grub自动依照第一个title的指示引导系统;

titleXXX,XXX为标题,也就是你要引导的操作系统的名字,可以自己修改;

root(hdX,Y)X和Y都为一个数值,分别代表系统的根分区在哪个硬盘的哪个分区上。root(hd0,0)表示在主机上的第一块硬盘hd0中的第一个分区里;

kernel行指定Linux的内核的文件所处的绝对路径;

initrd行指定Linux的根文件系统所在的绝对路径。initrd 文件中包含了各种可执行程序和驱动程序。

3.3.2GRUB命令行

用户可以在GRUB引导时手动输入命令来指 导GRUB的行为。在GRUB启动画面出现时按下“c”键可以进入GRUB的命令行模式如图3-22和3-23所示。下面给出了一些最基本的命令,如表3-1所示。

表3-1引导程序GRUB的常用命令

命令

说明

help

显示帮助信息

reboot

重新引导系统

root

指定根分区

kernel

指定内核所在的位置

find

在所有可以安装的分区上寻找一个文件

boot

依照配置引导系统

 

图3-22 GRUB启动画面

图3-23 GRUB的命令行模式

3.4运行级别

所谓运行级别,是指操作系统当前正在运行的功能级别。在Windows操作系统中有正常模式和安全模式两种运行级别,而在Linux中运行级别从0到6,共有7种功能级别。本节将进行简单介绍。

3.4.1init进程

init进程是系统所有进程的起点,内核在完成核内引导以后(已被装入内存、已经开始运行、已经初始化了所有的设备驱动程序和数据结构等等),通过启动用户级程序init来完成引导进程的内核部分。因此,init总是第一个运行的进程(它的进程号总是1)。

init进程有两个作用。第一个作用是扮演终结父进程的角色。因为init进程永远不会被终止,所以系统总是可以确信它的存在,并在必要的时候以它为参照。如果某个进程在它衍生出来的全部子进程结束之前被终止,就会出现必须以init为参照的情况。此时那些失去了父进程的子进程就都会以init作为它们的父进程。

init进程的第二个作用是在进入某个特定的运行级别(Runlevel)时运行相应的程序,以此对各种运行级别进行管理。它的这个作用定义在/ect/inittab文件中。

3.4.2/etc/inittab文件

init进程运行时根据/etc/inittab文件来执行相应的脚本进行系统初始化,inittab配置文件的内容如图3-24所示。

图3-24 inittab配置文件

从配置文件的注释中可以看到对Linux可运行的7个运行级别的说明。

在inittab文件中有一个基本类型的指令,用来指定命令行所采取的动作在何种运行级别下激活命令等选项。该指令的基本格式如下:

id :runlevels :action :process

其中,id可以是任意一个名称;runlevels是一个数字,表示后面命令的运行级;action设置何时执行命令;process表示具体需要执行的命令。initdefault是一个特殊的action值,用于标识缺省的启动级别。

3.4.3运行级

Linux支持7种运行级,不同的运行级定义如表3-2所示。

运行级别原理:

1.       在目录/etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service);

2.       在/etc/rc.d下有7个名为rcN.d的目录,对应系统的7个运行级别。系统启动时,会根据指定的运行级别进入对应的rcN.d目录,并按照文件名顺序检索目录下的链接文件。

3.5忘记密码

在Linux中,如果忘记用户账户的密码,如何来解决呢?是否需要重新安装系统?答案当然是不需要重做系统,本节我们来学习一下具体的解决办法。

3.5.1忘记root密码

如果忘记的是管理员用户root的密码,可以使用grub引导系统,通过修改引导参数,进入单用户模式,从而更改root的密码。具体步骤如下:

1.        Linux开机后,屏幕上方显示“Press any key to enter the menu”提示信息,按任意键进入GRUB启动菜单,如图3-22所示;

2.        按“e”键进入grub编辑模式,如图3-25所示。使用上/下方向键选择内核“kernel”行,然后按“e”键编辑内核文件。

图3-25 grub编辑模式

3.        在内核文件编辑界面,文件末尾“quiet”后面加一个“空格”,然后输入“single”或“1”,回车确定修改。

图3-26 kernel文件编辑模式

4.        此时,返回到grub编辑模式。按“b”键启动系统,进入单用户模式,如图3-26所示。使用“passwd”命令更改root密码,然后重新启动即可。

图3-27 单用户模式修改密码

3.5.2忘记普通用户密码

如果忘记的是普通用户的密码,可以用root用户登入系统,通过查看/etc/passwd文件,找到想登入系统的用户名,然后修改该用户的密码即可。具体步骤如下:

1.        root用户登录系统,输入命令“cat /etc/passwd”,查看用户账户配置文件,找到想要登录的用户名,假设用户账户abc。(如果知道用户名,可以直接执行第2步)

2.        使用passwd命令更改用户abc的密码,输入命令“passwd abc”,按提示两输入新密码后,用户abc的密码修改成功。

3.        使用“logout”命令注销root用户,用abc用户登录即可。


习题

1.          查看/etc/inittab文件,并手动记录其内容;

运行级别

英文描述

中文描述

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.          进入GRUB启动菜单,修改引导文件,进入单用户模式,练习修改root用户密码;

3.          在/下创建目录,目录名为abc;

4.          创建用户,用户名为姓名缩写加学号后3位,并指定其家目录为3中创建的目录,设置其密码为111111;

5.          查看/etc/passwd,查看用户账户配置文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值