我的Linux实验——第5章(界面切换,man,开关机)

前言

真奇怪,我的上一篇环境搭建的文章被退回了,说是有版权问题,照着书把实验做一遍就有版权问题吗?那为什么别人的读书笔记都可以发出来呢?我把标题的鸟哥Linux私房菜去掉之后就发出来了,CSDN这个审核机制真让我为难。

1. CentOS 5 界面切换

根据书上所说Ctrl+Alt+F1~F6可以切换文字行界面
Ctrl+Alt+F7可以将系统转至图形界面。又说了什么时候能转,什么时候不能转,但看来实在有些混乱,所以我来略微整理一下。
突然感觉,我做的这个图带WPS的水印好low(悲)。在这里插入图片描述
通过修改/etc/inittab文件来改变启动等级

2. CentOS 6 界面切换

CentOS 6 的情况和 5 的情况有所不同,因为是通过我的实验得出的结论,所以结论并不一定准确,如果有谁找出了我的错误,请告诉我,以便我及时改正。
在这里插入图片描述
和CentOS 5 一样,通过修改/etc/inittab文件来改变启动等级

3. CentOS 8 界面切换

在这里插入图片描述
我本想也通过修改/etc/inittab文件的方式,改变启动等级,但发现这个文件变成这样了:
在这里插入图片描述
发现CentOS7,启动等级的设置方式起了变化,现在使用systemctl命令来修改启动等级。
multi-user.target相当于之前的更改运行级别为3。
graphical.target相当于之前的更改运行级别为5。

查看当前的开机默认运行方式:systemctl get-default
设置开机启动命令行界面:systemctl set-default multi-user.target
设置开机启动图形界面:systemctl set-default graphical.target

同时init命令没有改版,依旧可以切换当前运行等级。

通过ps aus|grep systemd命令,看出systemd进程代替了以前的init程序,成为了系统启动的第一个进程。

systemd进程的程序文件在/usr/lib/systemd/systemd
init进程的程序文件在/sbin/init
在这里插入图片描述

4. 通用

4.1 登录前文字

在登录之前,我们会看到一小段文字,这段文字的内容规定在/etc/issue文件之中
在这里插入图片描述

4.2 注销Linux

使用exit命令即可,需要注意的是,注销并不是关机!

4.3 修改语言

查看当前系统语言环境:
echo $LANG
查看安了哪些中文语言包:
locale -a |grep “zh_CN”
修改语系:
LANG=zh_CN.utf8
在这里插入图片描述
这样可以修改语系,但只是临时修改,只对此次登录有效,书上说11章会详细说明。因为我之前把书全看完了,虽然不知道对不对,但我猜测一下。临时有效的原因是没有修改配置文件,而只是单纯修改了环境变量的原因。

4.4 基础命令的操作

4.4.1 显示日期的命令:date

在这里插入图片描述
这个命令还可以通过参数功能修改时间格式
在这里插入图片描述

4.4.2 显示日历的命令:cal

直接列出这个月的月历
在这里插入图片描述
显示整年月历
在这里插入图片描述
显示某年某月的月历
在这里插入图片描述
输入错误信息会报错(根本没有13月)
在这里插入图片描述

4.4.3 计算器bc

在这里插入图片描述
bc计算器可以进行加减乘除,求指数,求余数。但要注意,bc默认输出整数,如想输出小数,需要通过scale=数字的方式,设置小数点位数。
输入quit,可以退出bc计算器。

4.4.4 快捷键

4.4.4.1 Tab

补齐命令或文件名

在命令行不输入任何字符,连按两次Tab键,可以查看有哪些命令可以使用(不知道为什么,CentOS 8 查看所有命令失败了)。
在这里插入图片描述

4.4.4.1 Ctrl+c

终止当前程序

4.4.4.2 Ctrl+d

相当于输入exit

4.5 帮助查询

4.5.1 man

因为我实在不想写那么多字,所以我就在这放一个链接:https://blog.csdn.net/dream_follower/article/details/81165964
这位朋友把书上man的表格制作出来了。

man page的数据放在 /usr/share/man 这个目录里头。
我们可以通过修改/etc/man.config来改变man的查询路径(经过我的实验,CentOS 5,6的配置文件确实是这个,而CentOS8的配置文件已经改成了/etc/man_db.conf了)。

书上还说有的版本文件名是man.conf或manpath.conf,虽然我没见到,但还是写在这里吧。

4.5.1.1 查询特定说明文件

文件有不同的类型,一个我们要查询的东西可能有多个说明文件,那么我们可以使用

man -f 命令

来查询我们要查询的东西有多少种说明文件。
在我用CentOS 5,6实验时,得到的结果和书上是一样的:
在这里插入图片描述
但是在使用CentOS 8实验时却失败了:
在这里插入图片描述
我刚开始以为man这个命令改版了,但是man man之后却发现这个命令是可以使用的。上网搜了一下,网上资料显示需要执行makewhatis,位置在 /usr/sbin/makewhatis。于是尝试执行makewhatis,结果如下:
在这里插入图片描述
。。。尴尬,根本没有这个命令。
继续上网找,执行mandb建立索引,问题解决:
在这里插入图片描述
但实际上,上面makewhatis的解决方法是针对CentOS 5,6 的,由下图可见CentOS 5,6 是没有mandb命令的,并且在我使用makewhatis之后,man -f man 的结果确实有所变化:
在这里插入图片描述
得到可以查询文档的类型之后就可以进行特定的查询了:
例如man 1 manman 7 man

可以通过

man -k

来查询关键字

书到这里又给了两个man的简略写法,才告诉我应该以root身份执行makewhatis命令,建立whatis数据库。着实是来的有点晚,但是我也找到了CentOS 8 的处理方法,也不算吃亏了。

whatis ==> man -f
apropos ==> man -k

4.5.1.2 man文档变成易于查看的形式

写到第7章实验的时候,我突然想将man文档保存到U盘里,以便以后查看。所以我找到ls命令的man文件,把它复制到我的用户目录下,并解压:
在这里插入图片描述
使用vim命令查看它,结果:
在这里插入图片描述
在这里插入图片描述
这我真服了,谁能看的懂呀。
里面有一些奇怪的东西有着自己的含义,比如

字符 含义
.B 粗体
.BI 粗体跟斜体

如果想得到正常的文档,还需要进行格式转换。所以,我想得到直接可阅读的帮助文档,用这个方法是很费劲的,不合理的。

采用如下的命令是很简单的:

man man | col-b > man_help  

这是从菜鸟教程搜到的
运行结果如下:
在这里插入图片描述
使用vim打开:
在这里插入图片描述在这里插入图片描述
完美成功。
但那个col 命令我却没什么印象了,结果一查书才发现,鸟哥在第11章介绍col时,就已经告诉我怎么转存man page了。

col起着转换字符的作用,虽然我没太看懂,但现在这留个印象

4.5.2 其他有用文件

还有许多的帮助文件放在/usr/share/doc/目录下:
在这里插入图片描述

4.6 关机

4.6.1 查看系统的使用状态

who:查看目前有谁在线
netstat -a:查看网络的联机状态
ps -aux:查看后台执行的程序

4.6.2 将内存中尚未更新的数据写入硬盘当中:sync

4.6.3 惯用关机命令:shutdown

文件在/sbin/shutdown

4.6.4 重启、关机:reboot,halt,poweroff

4.6.5 切换执行等级:init

4.7 忘记root密码

4.7.1 CentOS 5,6 单用户模式修改root密码

在这里插入图片描述
按e进入grub的编辑模式
在这里插入图片描述
将光标移到kernel那一行,再按一次e进入kernel该行编辑模式中在这里插入图片描述
输入single,回车,按b开机进入单用户维护模式。

使用命令passwd修改密码即可

4.7.2 CentOS 8 单用户模式修改root密码

不得不说,CentOS 7 真是改版比较大的一把,连改root密码都费了我点劲。

进入grub:
在这里插入图片描述
按e编辑grub
在这里插入图片描述
删除rhgb quiet,加上init=/bin/sh
在这里插入图片描述根据提示,按Ctrl+x,启动系统,启动完后进行下图操作(重新启动不要用/sbin/reboot,网上有人是这么做的,但我一用就死机):
在这里插入图片描述
系统会重启,奇怪的是进入终端后输入用户名无法正常登录,一直让我输入用户名:
在这里插入图片描述
关闭虚拟机,重新启动,这把正常了:
在这里插入图片描述

重启时,屏幕上也显示了一些内容,先暂时放在这里,说不定以后某一天突然就明白了呢!
在这里插入图片描述

总结

感觉我的这本书还是已经有些老旧了,已经无法适应新的版本了。相同的事情完成起来,要做的事情已经有些不同了,但学习起来还是大有收获的。说实在的,我现在不能理解CentOS 8 的一些思路,先硬着头皮跟着实验做下去吧。如果CentOS 8 版本的鸟哥Linux私房菜出了的话,我还是再买一本,对照着看吧。

CentOS 8 中已经不使用init作为系统启动的第一个进程,改为systemd了;不使用service而改用systemctl了。和我之前学到的知识有所改变,所以我在这里放两篇我觉得别人不错的文章,以便以后查看。

最简明扼要的 Systemd 教程,只需十分钟

Linux 服务管理两种方式service和systemctl

发布了12 篇原创文章 · 获赞 2 · 访问量 519

猜你喜欢

转载自blog.csdn.net/qq_45582319/article/details/104269564