1. 虚拟机操作预备知识:
1.1 登录RHEL8(红帽企业8)系统的方法
在机房开机后系统会自动以kiosk用户身份登录系统,需要切换成超级管理员root身份,点击右上角开关机按钮,在下拉菜单中点击kiosk右侧的小箭头,点击LogOut注销或Switch User切换用户,在出现的登录界面点击下方的Not listed(未列出用户),输入用户名root,密码Asimov,点击确定即可登录系统。
笔记本环境下直接登陆就行,具体操作如图:
点击log out,退出登陆重新登陆目标用户。
这里补充强调了如何退出我们的虚拟机窗口回到上一页和直接关机(poweroff)在上一次实验内容中我已经非常详细的记录了关闭RHEL8系统的方法“Power Off”与运行命令“shutdown -h now”(等同于poweroff,一样的含义!)不再赘述!
1.2 RHEL8下打开terminal:
这里只复述通过“Ctrl+Shift+T”快捷键可以在terminal窗口多开标签页,不做赘述。
1.3 RHEL8下在多个应用程序间切换的方法
在开启了多个应用窗口后(如terminal与virtual machine manager)我们可以通过“ALT+TAB”快捷键实现应用窗口之间的切换,简化操作。如图:
1.4设置中文输入法
当我们需要输入中文内容时,需要先进行一个中文拼音输入的导入:点击右上角的开关机按钮,在子菜单中选择设置(小扳手图标),在左侧的列表框中选择 Region&Language,右侧的Input Sources中选择下方的+,添加Chinese(Intelligent Pinyin)。如图:
点击下面的更多导入中文拼音:
(如果是第一次或者机房的默认环境的话,就需要进行操作!)
当导入成功后进入终端页面,右上角能看到默认的输入为“en”,我们可以点击更换输入法,这里有切换输入法的快捷键:“Windows+Space”非常方便。 我进行了一点尝试如图:
1.5启动虚拟机
操作已经在实验0中详细介绍了,这里只做一个补充说明,直接使用rht-vmctl命令部署本地虚拟机 foundation0,(机房的物理机编号可能是foundation 0到foundation 60,但是并不会影响我们操作):
rht-vmctl status all //要运行servera和b进行练习,要保证bastion,classroom处于运行状态(笔记本要单独查看classroom的状态)。
rht-vmctl status classroom //虚拟机classroom运行状态
rht-vmctl start all //启动全部虚拟机,但是显示启动成功,实际上可能还在启动中,可以ping一下有没有成功启动,或者打开虚拟机管理器图形界面看看启动状态。
rht-vmctl reset servera //重置虚拟机servera(也是servera与b的故障解决方案)
rht-vmctl fullreset all -q //全部重置虚拟机,无需交互(默认确认操作)
rht-vmctl stop all //停止各个虚拟机
2.Red Hat Enterprise Linux 8(RHEL8)概述:
2.1 关于linux官方的证书:
关于linux官方的等级考试是红帽企业负责的,因为它占有了52%市场,我们有很大一部分人做linux系统都是用得Red Hat Enterprise Linux,自然我们的等级考试也以他们家为标准了,而且这个考试的证书含金量超高!三种证书从下到上形成金字塔体系:
首先是金字塔的基础:RHCSA(Red Hat Certified System Administrator) 有资质的系统管理员 (考一上午,三个小时)
然后是:RHCE(Red Hat Certified Engineer)有资质的工程师 一天同时可以考CSA(考一整天,上午考CSA下午CE)
最后顶端是:RHCA(Red Hat Certified Architrct)有资格的架构师 考五天,八个科目自选五个科目,可以分五个月考,对应每门内容进行学习,应对考试。
想要参加高级的考试必须先通过低一级的考试,每次考试的证书有效期是RHEL的两个大版本。证书如图:
2.2 Linux发展史:
Linux起源于一名大二学生 Linus Torvalds,在吸收了MINIX精华的基础上,Linus于1991年写出了属于自己的Linux操作系统,版本为Linux0.01,是Linux时代开始的标志。他利用Unix的核心,去除繁杂的核心程序,改写成适用于一般计算机的x86系统,并放在网络上供大家下载,1994年推出完整的核心Version1.0,至此,Linux逐渐成为功能完善、稳定的操作系统,并被广泛使用。
因为linux操作系统遵守GPL原则(通用协议许可,其他人编辑完后的程序必须免费上传给所有人使用),所以linux经过无数人的一代又一代更新,直到现在我们依然在使用它。许多软件企业将它作为内核封装到自己的系统中,制作成自己的操作系统,比如:RedHat,Suse,ubuntu,centOS,debian,红旗,中标麒麟(在原来的内核的基础上设计了自己的界面和程序,封装为自己的操作系统)。它被称为-第三代操作系统,*我接下来会讲到。
*Linux的发行版本和内核版本是截然不同的概念,我们首先来看内核版本:
查看核心版本号命令:“uname -r”核心kernel的版本号 ,输出如下:
“4.18.0-80.el8.x86_64”
如图:
版本号细分为:
主版本号.次版本号.修正号
次版本号分奇数与偶数(奇数为测试版,偶数为稳定版)
下面是内核版本解释:
4(主版本号).18(次版本,偶数稳定版奇数是测试版).0(修,小改进)-80(二级修正,特别小的修正).el8(表示运行红帽企业8).x86_64(64位x86架构)
然后是发行版本:我们说仅有内核而没有应用软件的操作系统是无法使用的,所以许多公司或社团将内核、源代码及相关的应用程序组织构成一个完整的操作系统,让一般的用户可以简便地安装和使用Linux,这就是所谓的发行版本(distribution),现在有很多个发行版本,我在上面提过,不做赘述。
RedHat,Suse,ubuntu,centOS,debian,红旗,中标麒麟等等这些都是!
补充知识:操作系统发展经历的三个阶段
第一代操作系统:“单用户单任务”——DOS窗口(我们早期个人电脑的操作系统,现在还在使用)
第二代操作系统:“单用户多任务”——Windows系统(我们基本上都在用的系统)
第三代操作系统:“多用户多任务”——Linux(网络操作系统) 我们在物理机中切换打开虚拟机servera标签页的操作(ssh root@servera)
2.3 Linux在日常生活中无处不在
1.Linux吉祥物:
Linux的吉祥物是企鹅,因为他去动物园逛的时候被企鹅咬到了,觉得很有意思。
2.安卓(Android)
是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发——安卓就是基于linux制作的最广为人知并且被我们手机广泛使用的操作系统!
安卓图标:
3.NASA超级计算机的操作系统
在全球顶尖的500台超级计算机中,有约60%安装了Linux操作系统,其余30%是Unix操作系统,还有少部分是AIX操作系统、FreeBSD操作系统和微软操作系统等。
因为Linux有这样的优点:
1、Linux操作系统的高性能运算为超级计算机发挥作用提供了坚实的基础,也是超级计算机系统不可或缺的特质之一,(稳定性,安全性,并行处理能力,扩展性)
2、Linux操作系统是“开放源代码”,这意味着使用者可以根据自身的需要,适当的修改代码,从而达到所需要的目的。
3、Linux操作系统是没有授权费用的,这就会大大降低制造超级计算机的成本,这也为超级计算机走向商业化做了很好的铺垫。假使使用其他操作系统,昂贵的授权费用在研制阶段或许可以承担,但走向商业,前途就会一片渺茫。
4、Linux操作系统有着很好的兼容性,几乎可以在任何硬件上都顺畅运行,减少了许多不必要的麻烦。
国内的神威,NASA的超级计算机,都是linux系统:
4.电影特效与Linux
类似《阿凡达》《功夫熊猫》这样震撼的特效电影,不但需要很好的主机硬件性能,还需要很好的制作软件,拍摄《阿凡达》的卡梅隆导演找到了redhat公司定制了一套基于linux系统下的制作软件,所以才能制作出很好的3D效果和出色感官体验。
5.航空调度
当飞机在跑道上准备起飞时,大概每一分钟有一架飞机占据这个跑道,每隔大概五分钟就有飞机落下,再过五分钟又有飞机起飞,非常严格的飞行调度,管理员通过管理软件与机长进行沟通,飞机在规定的时间起飞。——航空调度管理系统对稳定性,实时性,安全性有很高的要求,所以我们可以通过linux系统来制作。
6.牧场管理
瑞典的瑞典利拉伐乳业公司,成千上万的奶牛完成挤奶工作,因为人工成本很高,所以通过redhat公司制作的基于linux智能机器人,完成挤奶工作,提高了生产效率。我们的蒙牛(就在我家旁边),伊利,也是采用的智能化挤奶车间的方法,从挤奶到出奶产品都可以完全智能,只需要技术人员把控参数就可以了。
7.证券交易
实时的股票交易,证券信息,我们需要很多的服务器实时的显示股票信息,在2006年美国纽约的证券交易所把操作系统全都换成了Linux系统,速度更快,实时性更强(毫秒级反应),满足我们的超高的响应速度需求,我们首选Linux系统。
8.银行ATM取款机
ATM机中有银行基于Linux开发的系统,安全性与稳定性值得信赖。
9.军事——核潜艇
前苏联的核潜艇的独立管理调度平台的,使用的也是Linux开发定制的一个管理调度系统,安全性非常的高,说明很多的军事产品也需要linux去做系统驱动。
10.各大网络平台
为了缓解门户网站的平台压力,提高平台稳定性,安全性,我们使用的Linux等去做系统,可以满足7x24原则,(指的是一周七天24h都在工作),不允许我们宕机,不间断的提供服务,然后还要满足每秒成千上万的访问量,我们的服务器采取的是集群技术,使用lvs站点架构,前台调度器发布外部站点,接受访问请求,根据各个服务器的繁忙程度给后台连接的成百上千有相同web站点的服务器分配开,构成集群不会让服务器过载。
3. Linux使用过程中的四种帮助:
3.1 whatis(用于检查命令含义:如果无法使用whatis帮助,可以运行命令“mandb”加载帮助手册)
如图:
“whatis(后面写命令)ls” eg:“whatis cd”
*学命令操作的第一步,告诉你命令是干啥用的*
如图:
(ls 命令显示目标下列表,彩色区分文件类型)
3.2 --help(用于检查命令的语法格式,在“--help“前面写命令)
eg:“ls --help”(我们一般都用 --help查看命令的不同使用方法)
*使用的语法格式就看Usage那一行*
约定俗成的习惯 :*一切对象皆文件*
ls[OPTION]参数...[FTLE]文件,中括号里面的内容可以省略如图“ls --help”:
3.3 man iscsiadm(上一种帮助解决解决不了命令疑问就用man手册)
搜索实例:
例如 man iscsiadm / ls:
*Man手册操作指令:
“ :n”表示跳转到第n行;
“n”表示切到下一行;
”shift+n“表示上一个;
“g”表示跳转到第一行;
“shift+g(或G)”表示跳转到最后一行;
“man -f”等效于whatis
输入“q”退出man手册
3.4 info ls
(能看懂就行)如图:
4. Linux使用过程中的7种技巧
(1)"history" : 历史命令 (history -c清空当前历史命令;输入命令history -w将历史命令保存到历史命令文件/root/.bash_history中;)
(!加命令的序号为重复执行该命令 eg:!21 即为第21号命令)如图:
(2)“clear(ctrl+l)”:清屏命令
(3)“上下键”:(上一条命令下一条命令)
(4)“Tab”:(自动补齐命令,,目录,文件名等)*不能补齐有多个目标的,再按一次Tab就可以看到候选项了,我们可以选择!*
(5)“!$”:(表示调用上一条命令中的最后一个有效参数,是一个变化的值) eg:cd /tmp ;ls !$等同于ls /tmp
如图:
(6)“!keyword”:(表示倒序检索历史缓存中的最近命令列表,首个匹配的命令会被重复执行)
下面解释操作如图:
date(显示时间)
pwd(打印当前工作目录名)
!d(以d为关键词的命令只有date,所以执行了date)
(7)强行退出的6方种方法:
1.Ctrl+C (百分之八十死循环都可以,老大哥了)
2.Ctrl+D
3.Crtl+B
4.exit(切换用户,ssh)
5.quit
6.q(man手册出现过喔)
5.Linux下的常见六种目录操作命令
(1)pwd(Linux下的树状目录结构):(打印当前工作目录名)
/(代表我的电脑的根目录,根下有非常多的文件夹)
bin root home (在home下有zhangsan, lisi之类)opt sbin usr etc ....(一级子目录)
zhangsan lisi(二级子目录)
(2)cd(改变工作目录,要注意相对路径与绝对路径的用法)(这里注意直接敲cd不加路径的话会转到家目录)
命令:” cd ..“:转到上一层,可以一直转到根目录。
“ cd / “ :直接跳到树根
”cd - ":跳入上次使用的目录
" cd ./": 是使用相对路径的另外一种写法,区别就是多个·
超级管理员root的家目录就是/root,普通用户的家目录根下的 “home“下的二级子目录( pwd 后 : /home/kiosk)
#绝对路径eg:cd /home/limeng/(最后一个斜杠可加可不加!从根目录开始书写的一个完整路径,用这种办法不会出错)如图:
#相对路径eg:cd home/(切换到了home目录下) cd limeng/(我设置的用户下,前提是:当且仅当当前所处的工作目录下一层有对应的目录名,才可以使用相对路径)如图:
*补充linux下用户切换原则*
1.高权限用户向低权限用户切换无需输入密码
2.低权限向高权限切换或者同级用户相互切换必须输入密码
虚拟机用户操作:
“useradd“(添加用户)
“passwd“(同名用户的密码添加)输入后提示密码简单也无所谓,我们继续输入一次密码就ok了,这里用abcde作为limeng与limeng01的密码
如图:
“su -”(switch user)切换用户
“su ”不加-号的命令,不同于上一层,只切换身份,家目录不做跳转
eg:
su - limeng [limeng@serverb ~]
su limeng [limeng@serverb ](注意波浪号的有无)
(3)ls:接着前面讲的ls,直接写命令”ls”显示当前目录内容。
“ls –l“(长格式,整齐的排列)等效于”ll“(长格式缩写)如图
查看根目录下如图:
“ll -d “目录可以不看该目录的内容,直接查看该目录的属性
eg:“ls –dl“ (查看根目录属性,等同于“ll -d /“)
*八列字段含义:
“d”(type)“r(读权限r)-(写权限w)x(执行权限x)r-xr-x”(权限位). 2 root (所有者,头三位)root(所属组名,中间三位)4096 2月 22 2012 (date)bin(对象名)
如图:
第一列:第一列表用字母与符号表type :d(子目录),-(是普通文件);f(第二种,也是普通文件),b(块设备文件),c(字符数倍文件),l(链接文件),p(管道文件)
第二列(中间的九列):头三位表示*所有者权限*,(读,写,执行权限)“-号”表示没权限;中间三位表示*组内用户权限*(读,写,执行权限);最后三位表示*组外用户权限*(读,写,执行权限)
第三列:“2“ 表示硬链接个数(不太重要)
第四列,第五列:第四列表示描述对象的“所有者”,第五列表示“所属组”名
第六列:大小(单位字节)
第七列:创建时间日期
第八列:当前对象名称(也就是在最右边)
ls -al(all 表示显示隐藏文件,以.开头的文件)
如图:
ls -il(inode 索引节点号,会出现在八列内容之前,显示每一列的索引)
如图:
(4)chmod(修改权限)
使用 “touch”命令:“touch 2020122103125.txt ” 会创建一个txt'文件,因为没有绝对路径所以会创建在当前位置下.
如图:
权限修改方法一:chmod 777 “一个文件“(一次性全部修改)
(十分重要!)修改权限的两步跳跃:
*#将我的学号文件设置成满权限即为 “rwxrwxrwx” 那么我们要把它们转换成二进制 文件,如果该位有权限表示为1没有表示为0。那么我们第一步跳跃就实现了——对应为:111111111然后就是三位二进制对应一位的八进制,实现第二次跳跃:777 #*
操作如图:(可以看到前后权限已然不一样咯!)
chmod 777 2020122103125.txt(相对路径)或者chmod 777 /tmp/2020122103125.txt(绝对路径)
二进制转换八进制的对照表格如下:
课堂练习:所有者没执行,组内没读,组外没写 即“rw--wxr-x”
二进制:110011101 八进制:635
结果如图:
权限修改方法二:u(所有者),g(组内),o(组外),a(全部),+,-(有,没有权限)(只修改几位的话非常的方便!)
chmod u+w(所有者有写权限),g-w(组内没写权限),o+x(组外有执行权限) “文件名“
课堂练习:所有的权限都没有
代码: chmod u-w,u-r,u-x,g-w,g-r,o-r,o-x 2020122103125
如图:
(5)mkdir:创建一个子目录
“mkdir / 111”:根目录下创建111,或者切换到根目录后直接创建 111 ”
如图1我们把111创建到了tmp里面,不符合要求!(相对路径,需要先切到根目录):
如图二我们用绝对路径就可以很好的创建文件!:
命令:
mkdir是不能直接创建子目录下的子目录的,需要一个新操作“-p”
“ mkdir –p“:创建子目录下继续创建子目录 eg:mkdir / 111/222/333/444,可以创建一串
如图:
*第二个约定俗成的:没有提示即成功*
输入命令没有提示错误就是运行成功。
(6)rmdir(rm)
rmdir后加参数,加里面想删除的子目录名称,子目录下不空的话就要从最下面开始删除,但是rm不需要,我们一般都用rm,功能强大!
失败如图:
成功如图:
rm(删除文件或者目录):
一次删除如图:
详解:第一次操作使用了:”rm 2020122103125.txt“他提示我是否执行,我们强行终止了,然后又用了 :“rm –f”直接确认了操作,直接删除了,可以看到我tmp文件下没有我的学号文件了。
删目录实例:
rm –r递归删除,我逐个确认了一下。
rm –rf连确认都不用,嘎嘎就删
总结-“rm”运行经常用的几种命令:
“rm “(删除文件,想删目录的加参数)
“rm –f”(删除还带一键确认的)
“rm –r”(直接删除目录的)
“rm -rf “(新闻里见过删库跑路的)
“rm -rf /tmp/111 “(tmp里面的111目录下全部删除)
这里补充一个操作:
touch 111.txt(如果想同时创建多个文件,可以使用touch {1..8}.txt,touch {1,3,5}.txt)
操作如图:
融会贯通:我自己学会了一招!看好了:rm –r /tmp{1..11}.txt
我把刚刚的文件全都删除,因为怕出事故,使用了-r没用-rf,非常直观的体现了“{}”表示包含,花括号内部使用“..”表示从左开始到右结束!
6.Linux下的常见目录含义(整理出来)
boot-->启动相关的文件(引导程序,kernel等)
etc--->配置文件(/etc/passwd;/etc/sysconfig/network)
tmp--->进程产生的临时文件存放位置
var--->存放经常变化的数据(数据库,日志,邮件,定时)
media->设备挂载目录(存储设备)--默认
mnt -->进程挂载
bin--->普通用户使用的命令--->/usr/bin
sbin-->管理员使用的命令----->/usr/sbin
dev--->设备文件/dev/tty1;/dev/sda1 无大小,有主设
备号与从设备号;/dev/zero;/dev/null;
home--->:家目录,也称主目录,主要存放一些系统用户目录。可用命令 cd 或cd ~直接回到主目录。
root--->超级管理员root的主目录
lost+found--->磁盘修复(没人认) 一般情况下该目录是空的,当系统非法关机后,相关文件会存放在此目录。
proc-->虚拟的文件系统---进程实时状态信息---仅存在于内存中;可以通过修改参数进行调优
/etc/rc.d--->启动的配置文件和脚本
usr--->系统文件,相当于Windows文件夹一样;安装软件的位置
/lib--->标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件
/usr/bin------众多的应用程序
/usr/sbin-----超级用户的一些管理程序
/usr/lib------常用的动态链接库和软件包的配置文件
/usr/lib64----简单说,/lib64是内核级的,/usr/lib64是系统级的,/usr/local/lib64是用户级的.
/usr/doc----linux文档
/usr/include----linux下开发和编译应用程序所需要的头文件
/usr/man---- 帮助文档
/usr/src----源代码,linux内核的源代码就放在/usr/src/linux里
/usr/local/bin 本地增加的命令
/usr/local/lib 本地增加的库
小结:(通过本次课程学到了哪些知识;在实验过程中遇到的问题及解决办法)
通过本次课程,我学习到了linux虚拟机系统在日常生活中的广泛应用,它拥有出色的稳定性,安全性,可以胜任很多工作,可以运用到非常多的平台中;学会了一些快捷操作,学会了四种帮助:如何通过查whatis手册了解一个命令然后通--help找到这个命令如何使用;学会了七种目录操作,添加用户与切换用户;也学会了目录下面添加文件,删除文件,修改一个文件的权限的两种方法,逐步深入虚拟机,也觉得十分的开心,操作非常的有程序与的感觉。并且学会了部分使用技巧。本次实验过程在后期遇到了问题,而且中间听着网课打着代码,嘎嘣一下我电脑蓝屏了,或者黑屏突然自动重启了,我的心也随着我的虚拟机崩溃了,重启了,现在佛系很多了。我们要耐心的面对问题,要一次又一次的进行规范的操作防止我们的努力付之东流,比较虚拟机出错了实验就没意义,特别是要注意彻底关闭虚拟机后再关掉vm,不然可能出错,影响实验。