一 计算机基础与Linux安装
一 计算机基础与Linux安装
1. 一个完整计算系统的简要介绍。
2. 学会进制的转换,并简单举例完成转换。
3. 制作一个教程,说明vmware软件如何下载安装。
4. 说明GPL和MIT开源协议的区别。
5. 制作2个安装教程,安装rocky 8.5, ubuntu 22.04,并结合xshell说明如何通过虚拟IP登入系统。
6. 说明tab键补全命令以及补全路径的原理。
1.完整计算系统的简要介绍
计算机系统包括硬件系统和软件系统

硬件系统:
主机
中央处理器 CPU (Central Processing Unit)
运算器
控制器
内存
ROM (Read-Only Memory) 只读存储器
别名:非易失性(Nonvolatile)存储器,固定存储器。
特点:速度快、结构简单、集成度高、造价低、功耗小、可靠性高。
RAM (Random Access Memory) 随机存取存储器
别名:主存
特点:随机存取、易失性、对静电敏感、访问速度快、需要刷新。
ROM简述
以非破坏性读出方式工作,只能读出无法写入信息。信息一旦写入后就固定下来,即使切断电源,信息也不会丢失,所以又称为固定存储器。
ROM所存数据通常是装入整机前写入的,整机工作过程中只能读出,不像随机存储器能快速方便地改写存储内容。ROM所存数据稳定 ,断电后所存数据也不会改变,并且结构较简单,使用方便,因而常用于存储各种固定程序和数据。
除少数种类的只读存储器(如字符发生器)可通用之外,不同种类的只读存储器功能不同。为便于用户使用和大批量生产,进一步发展出可编程只读存储器(PROM)、可擦可编程序只读存储器(EPROM)和带电可擦可编程只读存储器(EEPROM)等不同的种类。ROM应用广泛,诸如Apple II或IBM PC XT/AT等早期个人电脑的开机程序(操作系统)或是其他各种微电脑系统中的轫体(Firmware),所使用的硬件都是ROM。
RAM简述
是与CPU直接交换数据的内部存储器。它可以随时读写(刷新时除外),而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储介质。RAM工作时可以随时从任何一个指定的地址写入(存入)或读出(取出)信息。它与ROM的最大区别是数据的易失性,即一旦断电所存储的数据将随之丢失。RAM在计算机和数字系统中用来暂时存储程序、数据和中间结果。
ROM和RAM的区别
存储器是数字系统中用以存储大量信息的设备或部件,是计算机和数字设备中的重要组成部分。存储器可分为随机存取存储器(RAM)和只读存储器(ROM)两大类。
随机存取存储器(RAM)既可向指定单元存入信息又可从指定单元读出信息。任何RAM中存储的信息在断电后均会丢失,所以RAM是易失性存储器。
ROM为只读存储器,除了固定存储数据、表格、固化程序外,在组合逻辑电路中也有着广泛用途。
2.进制的转换
非常详细的解释
https://baijiahao.baidu.com/s?id=1736496914985359441&wfr=spider&for=pc
一、二进制、八进制、十进制和十六进制是如何定义的?
二进制是Binary,简写为B,二进制只有0和1两个值,计算方法是逢二进一。比如01B+01B(其中B是Binary的首字母,即二进制的简写),结果就是10B,因为逢二进一,低位的1相加后得2就向高位进1;
八进制是Octal,简写为O,八进制是指有0~7这8个值的表示法,计算方法是逢8进1。比如17O+23O=42O,因为逢8进一,低位的7+3=10,10在八进制就是12,加上原来高位的1+2,结果就是42O;
十进制是Decimal,简写为D,十进制即咱们日常使用的0~9。咱们日常做的计算都是十进制的,计算方法是逢十进一,比如21D+11D=32D;
十六进制是Hexadecimal,简写为H,十六进制用数字0-9和字母a-f(或其大写A-F)表示0到15,计算方法是逢16进1,比如1DH+25H=42H,因为逢16进一,低位的D相当于十进制的13,而5可以看成是十进制的5,相加得18,而18-16=2,因此低位的值为2,高位的值即1+2再加上进位1即得4,高位结果就是4,最后结果是42H;
其中计算机采用的是二进制作为基础,在此基础上拓展了八进制、十进制、十六进制等。
二、为什么二进制是基础?
进制如今主要在电技术的数字电路中。如我们经常使的计算机能够识别的语就是进制语。数字电路中的、低电平;导通、截;开、关;有、无;真、假等等都是二进制表,二进制的逻辑电路使0和1表。
采用二进制主要有以下几个原因:
1、技术实现简单。计算机是由逻辑电路组成,逻辑电路通常只有两种状态,开关的接通和断开,正好用“0”“1”表示。
2、运算规则简单,两个二进制数的和、积运算组合简单。二进制数加法和乘法仅各有3条运算规则( 0+0=0,0+1=1,1+1=1 0和0×0=0,0×1=0,1×1=1 )运算规则简单,有利于简化内部结构,提高运算速度。
3、适合逻辑运算,二进制只有两个数码,和逻辑代数中的“真”“假”相吻合。
4、易于进行转换,二进制数能很容易地转换成八进制、十六进制,也能转换成十进制。
三、为什么有了二进制还需要使用八进制、十进制和十六进制?
八进制和十六进制在现实主要在电技术、计算机编程等领域,这是为了配合二进制使的。上我们说过二进制是计算机所能识别的最直接语,但是二进制的位数太多,不好记录,这时就需要把二进制转化为进制或十六进制。举个例子,买一件商品花费1百块钱,可以使用1元的人民币支付,也可以使用1百元的人民币支付,相对来说,使用百元更方便一点。
十进制主要在常活中,而二进制、八进制、十六进制主要在电技术业。二进制是数字电路、处理器等最直接的语;
八进制以及十六进制都是进存储记忆,但八进制较少使。十六进制来表处理器的寄存器、存储器的地址、数据。
四、进制之间如何转换?
主要思路:二进制数,八进制数、十六进制数可以采用按权展开法转化为十进制数,十进制转化为R进制要分为两部分【这里R进制是泛指,可以代表二进制、八进制、十六进制等】,其中整数部分要除R取余,直到商为0,小数部分要乘R取余直到得到整数。
1. 十进制转R进制
1.1. 十进制转二进制
(1)十进制整数转二进制
十进制整数转换成二进制采用“除2倒取余法”,即将十进制整数除以2,得到一个商和一个余数;再将商除以2,又得到一个商和一个余数;以此类推,直到商等于零为止。
例题: 175D = ___ B
解析:如下图所示,将175除以2,得余数,直到不能整除,然后再将余数从下至上倒取。得到结果:10101111B。

135D = ______ B

135D = 1000 0111B
(2)十进制小数转二进制
十进制小数转换成二进制小数采用 “乘2取整,顺序排列”法。
具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数 部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。
然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。
例题: 0.68D = ___ B(精确到小数点后5位)
解析:如下图所示,0.68乘以2,取整,然后再将小数乘以2,取整,直到达到题目要求精度。得到结果:0.10101B

1.2. 十进制转八进制
思路和十进制转二进制一样,参考如下例题:
例题: 10.68D = ___ Q(精确到小数点后3位)
解析:如下图所示,整数部分除以8取余数,直到无法整除。小数部分0.68乘以8,取整,然后再将小数乘以8,取整,直到达到题目要求精度。得到结果:12.534Q

1.3. 十进制转十六进制
思路和十进制转二进制一样,参考如下例题:
例题: 25.68D = ______ H(精确到小数点后3位)
解析:如下图所示,整数部分除以16取余数,直到无法整除。小数部分0.68乘以16,取整,然后再将小数乘以16,取整,直到达到题目要求精度。
得到结果:19.ae1H

2. R进制转十进制
2.1. 二进制转十进制
方法为:把二进制数按权展开、相加即得十进制数。(具体用法如下图)
例题: 1011 0111B = ______ D
解析:
10110111B=1×27+0×26+1×25+1×24+0×23+1×22+1×21+1×20=128+0+32+16+0+4+2+1=183

2.2. 八进制转十进制
八进制转十进制的方法和二进制转十进制一样。
例题: 302Q = ___ D
302.46Q = ___ D
解析:302Q = 3×8^2+ 0×8^1 + 2×8^0= 192 + 0 + 2 = 194D
302.46Q = 3×8^2 + 0×8^1+ 2×8^0+ 4×8^-1 + 6×8^-2= 192 + 0 + 2 + 0.5 + 0.09375= 194.59375D
2.3. 十六进制转十进制
例题: 23daH = ______ D
解析:23daH = 2×163+3×162+d×161+a×160= 9178D

3. 二进制转八进制
二进制转换成八进制的方法是,取三合一法,即从二进制的小数点为分界点,向左(或向右)每三位取成一位。
例题: 1010 0100B = ____Q
解析:1010 0100B = 010 001 100 B=244Q

4. 二进制转十六进制
二进制转换成八进制的方法是,取四合一法,即从二进制的小数点为分界点,向左(或向右)每四位取成一位。
例题: 1010 0100B = ____H
解析:1010 0100B = 1010 0100 B = a4H

总结:二进制转八进制或者二进制转换成十六进制,也可以先转换成十进制,再转换成目标进制。
3.vmware Workstation Pro下载及安装
1.进入官网,注册并登陆账号
https://www.vmware.com/cn.html

2.点击页面导航的“资源”按钮,将弹出子菜单,再点击“产品下载”

3.页面会跳转到“所有下载”,找到VMware Workstation Pro ,点击下载产品

4.选择想要的版本,有最新版和历史版,从14.0~17.0

5.以16.0版为例,选择Windows版,点“转至下载”

6.再选择具体版本号,点“立即下载”

或直接使用以下链接获取17 pro版
https://customerconnect.vmware.com/cn/downloads/info/slug/desktop_end_user_computing/vmware_workstation_pro/17_0
7.下载完毕后运行安装包进行安装,期间需要输入序列号,输入购买获得的序列号即可
4.说明GPL和MIT开源协议的区别。
GPL
GPL是“GNU通用公共许可证”(GNU General Public License)的简称,是自由软件基金会(Free Software Foundation)发布的一种自由软件许可协议。确保了使用、复制、修改和分发受许可的软件的自由,并要求任何修改后的软件必须在使用或分发时都采用相同的许可证条款和条件。
GPL有两个版本:GPLv2和GPLv3,其中GPLv3是最新的版本。它们都是“强制性”许可证,意味着如果您使用或修改了受GPL许可的软件,则必须公开发布源代码,并遵守GPL的条款和条件。这确保了任何派生作品仍然是自由和开放的。
GPL许可证在自由软件界很受欢迎,因为它促进了自由软件的使用、修改和分发,同时确保了派生作品的开放性和共享性。它也为开发人员提供了法律保护,以确保他们的贡献受到保护并得到公开发布。
MIT
MIT许可证是一种开源软件许可协议,它最初由麻省理工学院(MIT)发布,因此得名。它是一种“宽松”的许可证,允许使用、修改、分发开源软件,并且不需要公开发布源代码或遵守特定的许可证条款。
MIT许可证有多个版本,其中最常用的是MIT License和Expat License,它们的许可证文本几乎相同。
与GPL不同,MIT许可证不要求在使用或分发受许可的软件时遵守特定的许可证条款和条件,也不要求公开发布源代码。这使得MIT许可证非常适合商业软件的使用和分发,因为商业用户不需要公开发布源代码或遵守特定的条款和条件。
然而,MIT许可证仍然要求使用或分发受许可的软件时必须包含版权和许可证声明,以确保作者的版权得到保护。
区别
1)许可证类型
GPL是一种“强制性”许可证,要求在使用或修改受许可的软件时,必须将相应的修改公开发布并遵守相同的许可证条款,以确保派生作品仍然是开源的。
MIT是一种“宽松”许可证,它允许使用、修改和分发开源软件,而无需公开发布源代码或在使用或分发时遵守特定的许可证条款。
2)分发要求
GPL要求在分发使用GPL许可的软件或派生作品时,必须同时提供源代码并遵守GPL的条款和条件。
MIT允许在分发MIT许可的软件或派生作品时,可以选择是否提供源代码,也不需要遵守特定的许可证条款。
3)商业使用
GPL和MIT都允许商业使用和分发,但GPL的要求可能会限制商业使用的灵活性,因为它要求必须将源代码公开发布并遵守GPL的条款和条件。
MIT的宽松要求使得商业使用更为灵活,因为商业用户可以选择是否公开源代码,并且没有强制的条款和条件。
总的来说,GPL和MIT许可证有着不同的哲学和目的。GPL旨在确保开源软件的开放性和自由性,而MIT则更关注软件的自由使用和灵活性。可根据自身需求进行选择相应的协议。
————————————————
版权声明:本文为CSDN博主「Devin-小学徒」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Devin0501/article/details/129826021
5.制作2个安装教程,安装rocky 8.5, ubuntu 22.04,并结合xshell说明如何通过虚拟IP登入系统。
安装rocky 8.7
(由于没有找到8.5版本,故使用8.7版)
1.官网下载系统镜像 https://rockylinux.org/

完成后得到ISO文件

2.使用VMware Workstation Pro 安装Rocky8.7




3.或者选择RHEL 8 64位也可以

4.选择即将安装的rocky8.7虚拟机的安装位置,将在该目录生成虚拟机文件

5.磁盘可以调大一些,不会立即占用这么多的物理磁盘空间,会随着使用增长到该值。
不拆分虚拟磁盘文件,选择“将虚拟磁盘存储为单个文件”

6.调整硬件,视物理机具体硬件情况而定,内存最好是2G,处理器2CPU,设置安装系统的ISO映像文件的位置,去掉不需要的硬件,如打印机


7.完成后开启虚拟机,进入安装步骤

8.鼠标点进虚拟机界面并用方向键选择第二项,回车

9.开始安装文件检验

10.进入图形化安装界面,按照提示一步步向下进行安装即可

11.先配置安装位置

12.安装设备选择配置的200G的磁盘

13.选择完成后不再报错

14.配置root用户的密码

15.再选择安装软件的方式和种类,视自己的需要而定


16.配置网络,选择网卡为“on”状态,如果已经在虚拟交换机中已经配置过vmnet8的DHCP功能,那么会自动获取一个IPv4的地址


17.最后点击开始安装

18.安装中

19.安装完成后重启,并以root用户登陆,查看已经启动的服务,SSH已经安装,ip地址也正常获取到,至此安装完毕

安装ubuntu 22.04
ubuntu官网镜像下载链接 https://cn.ubuntu.com/download/alternative-downloads
1.打开以上官网下载链接,找到22.04.2 LTS服务器版,点击后会下载ubuntu-22.04.2-live-server-amd64.iso.torrent文件,文件很小,下载后再使用torrent下载工具打开这个文件,下载正式的镜像文件

下载完得到如下文件

2.使用VMware Workstation Pro 安装


3.选择客户机操作系统时,选择ubuntu 64位

4.配置虚拟机名称、选择安装位置

5.磁盘200G,不拆分

6.调整硬件配置,选择DVD启动映像文件为刚才下载的ubuntu-22.04.2-live-server-amd64.iso

7.关闭硬件配置,点完成

8.开启该虚拟机,进入安装阶段,安装时选择第一项,检测并安装选项

9.语言保持默认的英语,按回车到下一步

10.键盘设置保持默认

11.安装选择第一项,而不是最小化安装

12.网络配置,等几秒钟会自动获取ip地址,仍然是按照vmnet8的DHCP配置,并且不创建绑定

13.代理配置,不配置,直接Done跳过

14.镜像地址是将来安装完成后软件更新的地址,优先选择国内的,配置为 http://mirrors.aliyun.com/ubuntu/
完成后按Table键到Done变成绿色,按回车键到下一步

15.安装磁盘选择默认整块磁盘,仍然是按Table键到Done变成绿色,按回车键到下一步

16.来到存储系统配置,分区选择默认

17.配置设备名称和用户

18.跳过升级

19.SSH设置,这里要按空格键选择安装OpenSSH server

20.特性选择,跳过

21.进入安装阶段,需要等待一段时间

22.安装完成,提示reboot

23.reboot时提示需要将安装介质取出

24.先关闭客户机

25.再去掉勾选“启动时连接”,相当于取出了安装介质

26.重新启动虚拟机,启动完成后可以登陆,至此,安装结束

通过Xshell登陆虚拟机
以刚安装的22.04.2 LTS服务器版为例
1.首先获取到客户机的ip地址,这里为10.0.0.133/24

2.并且保证网络能访问到该主机,或者能从该主机访问到别的主机

3.并且保证SSH服务已开启

4.首先新建会话

5.设置用户身份

6.设置会话的外观,包括字体、字体大小等

7.完成后点击确定,进入到选择已配置会话的界面

8.选择需要连接的会话,点击确定


9.注意:如果提示 “找不到匹配的host key算法”,则是因为Xshell5不支持该操作系统的认证加密算法,使用Xshell7即可解决

6.说明tab键补全命令以及补全路径的原理。
Table键可以实现命令以及路径等自动补全,提高输入效率,避免出错
1.命令补全
当用户输入的命令的前半部分字符只有唯一的对应命令,则按TAB键可以直接补全;
study@ubuntu220402-1:~$ what Tab
study@ubuntu220402-1:~$ whatis
当用户输入的命令的前半部分字符并不是只有唯一的对应命令,按一次Tab不会补全,再次按TAB键会列出所有可能的命令。
study@ubuntu220402-1:~$ pw Tab Tab
pwck pwconv pwd pwdx pwunconv
study@ubuntu220402-1:~$ pw
内部命令:集成在SHELL内部的命令
外部命令:存在于$PATH变量定义的内容中,输入外部命令时,会按照该变量的所有路径去依次查找其中的可执行命令,找到则匹配上
study@ubuntu220402-1:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
study@ubuntu220402-1:~$
如果是命令的子命令需要自动补全,需要安装bash-completion
2.路径补全
用户输入的字符串做为路径的匹配开头,并在其指定上级目录下搜索已经输入的字符串开头的文件路径和文件名
唯一匹配时,直接补全;否则再次按Tab键给出所有匹配到的路径
3.双击Tab键
cmd 2Tab 所有子命令或文件补全
string2Tab 以string开头命令
/2Tab 显示所有根目录下一级目录,包括隐藏目录
./2Tab 当前目录下子目录,包括隐藏目录
*2Tab 当前目录下子目录,不包括隐藏目录
~2Tab 所有用户列表
$2Tab 所有变量
@2Tab /etc/hosts记录 (centos7 不支持)
=2Tab 相当于ls –A (centos7不支持)

浙公网安备 33010602011771号