马哥教育74期Linux云计算SRE-第01周作业

N74072-北京-岳帅

1.一个完整计算系统的简要介绍?

答:一个完整的计算机系统由硬件系统和软件系统两大部分组成

硬件由运算器,控制器,存储器,输入和输出设备五大部分组成

软件包括系统软件和应用软件组成

2.学会进制的转换,并简单举例完成转换?

答:二进制就是计算机常用的进制,即逢2进1。例如:0,1,(2)10,(3)11

八进制即逢8进1。例如:0,1,2,3,4,5,6,7,(8)10,(9)11

十进制就是我们在计算中常用的进制,即逢十进一。例如:1,2,3,4,5,6,7,8,9,(10)10

十六进制即逢16进一,与其它进制有所不同,在10到15用英文字母进行表示。例如0,1,2,3,4,5,6,7,8,9,(10)A,(11)B...(15)F(16)10...(26)1A

0
2^0 1
2^1 10 2
2^2 100 4
2^3 1000 8 
2^4 10000 16

15=8+4+2+1 1000+100+10+1=1111=15=F。

3.制作一个教程,说明vmware软件如何下载安装?

答:以官网地址:https://www.vmware.com/cn.html

 

 

 

 

 

 

 点击下载好的.exe文件,开始安装,安装完成后的第一次启动会需要许可证密钥,可以百度搜索有效的许可证密钥。

 

 

 4.说明GPL和MIT开源协议的区别?

答:GPL全称GNU General Public License ,通用公共许可协议,1984年由Richard Stallman发起并创建,目标是编写大量兼容于Unix系统的自由软件,允许用户任意复制,传递,修改及再发布,基于自由软件修改再次发布的软件,仍需遵守GPL

MIT全称The Massachusetts Institute of TechnologyLicense,麻省理工学院许可协议,是众多协议条款中,被广泛使用的其中一种,与其他常见的软件许可协议相比,MIT是相对宽松的软件许可协议。MIT协议允许你任意的使用、复制、修改原MIT代码库,原则就是在你的软件中声明使用的是MIT协议。MIT只保留版权,而无任何其它限制

5.制作2个安装教程,安装rocky8.5,ubuntu22.04,并结合下shell说明如何通过虚拟IP登入系统?

答:可以登录https://developer.aliyun.com/mirror/ 选择下载rocky8.7,ubuntu22.04镜像完成后针对rocky8.7,ubuntu22.04创建虚拟机环境,选择对应镜像使用ISO镜像文件开机安装系统,ubuntu有一个openssh的勾必须打上 否则默认没有装会连不上终端,然后把源换成国内的源阿里源,否则更新很慢,rocky记得把网络打开,时区亚洲上海,Xshell下ssh 虚拟IP ,文件新建输入对应信息。

 

 

 

 

 

 

 

 

 

 

 6.说明tab键补全命令以及补全路径的原理?

答:bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻已给定命令名命名的文件,第一次找到的命令即为要执行的命令;用户给定的字符串只有一条惟一对应的命令,直接补全,否则,再次Tab会给出列表范例

把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串揩油的文件名如果惟一则直接补全,否则再次Tab给出例表

 7.说明内部命令和外部命令的区别,以及他们如何获取帮助的?

答:内部命令由shell自带的,而且通过某命令形式提供。用户登录后自动加载并常驻内存中

外部命令在文件系统路径下有对应的可执行程序文件,当执行命令时才从磁盘加载至内存中,执行完毕后从内存中删除

 type判断;内部help 命令帮助;外部 命令 --help man 命令可以获取帮助

8.说明命令行快捷键如何完成,1)快速跳转到行首?2)快速跳转到行尾?3)快速删除当前光标到行尾,4)快速删除光标到行首,5)如何快速取消执行命令?

 答:ctrl+a跳转到行首;ctrl+e跳转到行尾;ctrl+k删除当前光标到行尾;ctrl+u删除光标到行首;ctrl+c取消执行命令

9.总结Linux目录结构说明每个目录主要的用途?

答:/:根目录,一般根目录是放其他目录的。

/bin是Binary的缩写,代表可执行二进制文件。这个目录存放经常使用的命令,例如ls、cat等。

/boot存放Linux启动时需要的一些文件。

/dev是Device的缩写,存放Linux的外部设备文件。

/etc存放一些系统配置文件。

/home用户的主目录。~表示当前用户的主目录,~a表示用户a的主目录。

/root系统管理员目录。

/run临时文件系统,存储系统启动以来的信息。

/sbin存放系统管理员使用的系统管理程序。

/tmp存放临时文件。

/usr存放用户的应用程序和文件。

/var存放经常被修改的目录和文件。例如日志文件。

10.总结文件通配*,?,[a-z],[0-9],~,{a..z},[:alnum:] [:alpha:] [:blank:] [:digit:] [:graph:] [:lower:] [:punct:] [:space:] [:upper:]等常用通配符?

答:*匹配零个或多个字符,但不匹配"."开头的文件,即隐藏文件

?匹配任何单个字符,一个汉字也算一个字符

[a-z]一个字母;[0-9]匹配数字范围;~当前用户家目录;{a..z}序列a到z;[:alnum:]任意数字或字母 [:alpha:]任意大小写字母 [:blank:]水平空白字符 [:digit:]任意数字,相当于0-9 [:graph:]图形字符 [:lower:]任意小写字母,表示a-z [:punct:]标点符号 [:space:]水平或垂直空白字符  [:upper:]任意大写字母,表示A-Z

11.说明文件系统如何根据用户输入的路径查找到磁盘上的文件的过程?

答:将文件目录项所在的目录读入内存(如果是根目录或单级目录则省去),通过内存中的目录查找FCB或i节点,通过FCB或i节点,根据文件的物理结构(连续、隐式链接、显示链接、索引……)进行查找文件磁盘块。

12.总结硬链接和软件链接原理,并举例说明如何使用?

答:硬链接本质上就给一个文件起一个新的名称,实质是同一个文件

软件链接一个符号链接指向另一个文件,就像windows中快捷方式,软链接文件和原文件本质上不是同一个文件

13.说明linux命令管理工作流程,结合管道功能,自行设计几个题目?

1、判断命令路径
在用户键入命令后,Linux会首先判断该命令是否包含了路径,如果命令已经存在有路径,则会直接读取该路径下的命令文件以执行,如果没有包含路径,则会进入第二步。
2、判断命令别名
由于Linux系统支持别名,因此Linux要对命令是否是别名进行判断,如果发现键入的命令其实是一个别名 ,就需要找到该别名对应的命令。
3、判断内部命令与外部命令
在找到真正的命令后,bash解释器就需要判断该命令是内部命令还是外部命令。所谓内部命令,就是这该命令常驻内存,直接执行即可,外部命令就是指命令的代码在磁盘中,在执行时需要先把磁盘中的命令代码读入内存,然后才能够执行。
4、在PATH变量中查找命令
既然该命令不是内部命令,那么该命令在执行的时候就必须从磁盘中加载命令代码,而如果没有提供命令的绝对路径,那么应该如何寻找到该命令呢?不论是windows操作系统还是Linux操作系统,其实都会面临这一问题,通用的解决方法是将这些命令集中存放在一个或者几个文件夹里面,执行的之后我们去这些文件夹中寻找。对于Linux系统,这些文件夹路径被记录在了一个叫PATH的环境变量里面

管道使用符号"|"表示用来连接多个命令

格式:命令1 | 命令2 | 命令3 |

命令1正确输出后作为命令2的输入命令2的输出作为命令3的输入,命令3输出就会直接显示在屏幕上,通过管道之后命令1和命令2的正确输出不显示在屏幕上。

管道命令只处理前一个命令正确输出,不处理错误输出;管道命令右边命令,必须能够接收标准输入命令才行;<

14.说明标准输入,标准输出,标准错误输出的区别,及举例说明其功能?

答:标准输入(STDIN)文件描述符0 默认接受来自终端窗口的输入

标准输出(STDOUT)文件描述符1 默认输出到终端窗口

标准错误代(STDERR)文件描述符2 默认输出到终端窗口

标准输入是命令的输入,默认指向键盘;标准输出是命令的输出,默认指向屏幕;标准错误是命令错误信息的输出,默认指向屏幕。 如果没有显式地进行重定向,命令通过文件描述符0从屏幕读取输入,通过文件描述符1和2将输出和错误信息输出到屏幕。

命令 < 文件 将指定文件作为命令的输入设备

>默认为标准输出重定向,与 1>相同

2>&1意思是把 标准错误输出 重定向到 标准输出.

&>file意思是把 标准输出 和 标准错误输出 都重定向到文件file中

2>&1 > file 把错误出定向到标准输出(此时标准输出为终端,所以输出到终端), 标准输出定位到文件

> file 2>&1 把标准输出定位到文件,错误输出到标准输出(此时标准输出指向文件,所以输出到文件)

15.总结学过的用户,组,权限相关的命令及选项,示例?

 答:添加新用户命令: useradd 新用户名;添加新用户并指定家目录命令: useradd -d 指定家目录 新的用户名;设置/修改当前用户密码命令: passwd 用户名;删除用户命令: userdel 用户名;查询用户信息命令: id 用户名;切换用户命令: su - 所要切换的用户名

新增组命令: groupadd 组名;删除组命令: groupdel 组名;修改用户的组命令: usermod -g 新的组名 用户名

posted @ 2023-02-13 14:52  YueShuai6  阅读(144)  评论(0)    收藏  举报