西工大网络空间安全学院计算机系统基础实验零

首先,下载VMware17 Pro workstation。为什么要下载VMware17 Pro workstation呢?因为计算机系统基础实验有四个大部分:利用位运算实现诸如a*b,a/b,a*(2^4)等运算;C语言循环语句、switch语句等语句与汇编代码之间的对应关系;函数栈帧与缓冲区溢出等;C程序的链接、重定位。学习这四个大部分所需要的相关工具,比如objdump, readelf, gdb等工具,都在Linux系统上得到了更好的支持,而Windows系统虽然也支持,但是操作会很繁琐,将注意力都从实验内容本身给分散到了系统配置上,不利于实验的进行,所以Linux系统被选定为开展实验所用的操作系统。但是笔记本上一般默认只有Windows操作系统,如果新引入Linux系统,与Windows系统一起存在于笔记本上,做成双系统的话,这其中的步骤将会更加复杂,所以我们不采用双系统,而是采用虚拟机平台VMware17 workstation。你不需要知道这个虚拟机平台是干什么用的,你只需要知道,利用这个虚拟机平台,你能够创建一个虚拟机,并选择Linux操作系统作为这台虚拟机的操作系统,这样子就能够为学习计算机系统基础实验四个大部分所需要的相关工具提供支持。另外不仅是在大一做计算机系统基础实验时,会使用到VMware17 Pro workstation。在大二上的计算机网络实验、大二下的数据库原理与安全实验、大二下的网络安全攻防实战、大三上的网络网络空间实战攻防能力训练等等等,以及备考红帽认证工程师RHCE时备考用的Linux实验环境,都涉及到了VMware17 Pro workstation这款虚拟机平台,所以下载VMware17 Pro workstation并不是只在计算机系统基础实验这门课上使用一时,而是将会长期一直使用,基本上伴随大学四年,甚至伴随着进入职场备考相关IT证书。综上所述,需要下载VMware17 Pro workstation。

在一步一步安装VMware17Pro workstation时,一定会经过(图1:安装步骤中令人比较纠结的两个选项)步骤的页面,并且VMware workstation安装程序只默认勾选了第二行,Add VMware Workstation console tools into system PATH,将VMware Workstation控制台工具添加到系统路径里面去。勾选了这一行以后,使得能够在cmd或者Powershell这两种Windows自带的命令行工具中,直接输入VMware Workstation相关的命令,Windows系统便会自动在系统路径中,寻找VMware Workstation相关的命令所在的位置(这些命令本质上都是以.exe结尾的可执行文件,诸如a.exe, b.exe, c.exe),并且执行这些命令。如果没有将VMware Workstation控制台工具添加到系统路径里面去,那么如果想在cmd或者Powershell等命令行工具中输入VMware Workstation相关的命令并执行的话,就必须在cmd或者Powershell中,先使用"cd"命令进入到这些命令(可执行文件)所在的目录中,使得cmd或者Powershell的当前工作目录就是这些命令(可执行文件)所在的目录,才能够成功执行。否则当系统默认先去系统路径中寻找VMware Workstation相关命令所在目录时,会找不到,进而报错。但是考虑到通过cmd或Powershell等命令行工具对VMware Workstation平台进行管理这种方法,一般用于互联网服务器运维学习、大规模虚拟机管理学习中,很少应用于管理单台虚拟机,所以我们可以忽视这一点。但考虑到老师给的PPT中的要求是,勾选这一条,所以我们不去做任何操作,把它留在那儿就可以。如果日后想学习大规模服务器运维,可以尝试去VMware Workstaiton的官网,下载到相关的官方文档(一定要看英文,因为英文下的逻辑相较于中文下的逻辑会更加清晰,别怕,英文没那么难读),学习如何使用VMware Workstation console tools。

第一行是"Enhanced Keyboard Driver (a reboot will be required to use this feature) This feature requires 10MB on your host drive."增强后的键盘驱动(需要重启笔记本之后,才可以使得这个功能生效)这个功能需要笔记本驱动器上需要有10MB的空间。这一点是什么意思呢?我们来慢慢看。首先,因为键盘是一个硬件设备,对应着冯诺依曼架构中的输入输出设备,而基本上键盘等硬件设备,都需要编写相应的驱动程序,这样子Windows或者Linux操作系统才能够知道,该如何使用这个硬件设备。就像插入一块U盘,需要将U盘的驱动程序加载到内存中,才能让Windows或者Linux操作系统使用这块U盘,向U盘中存储文件,或者从U盘中读取文件。插入USB线并且连接到手机上,也需要将相应的驱动程序加载到内存中,才能让Windows操作系统控制手机,执行传输文件、清理手机存储等任务。同样的,只有将控制键盘所需的驱动程序加载到内存中,才可以让Windows操作系统接收到来自键盘的输入。但是因为键盘是捆死在笔记本上的,不像U盘、USB线一样,可以随意插拔,所以控制键盘所需的驱动程序被直接嵌入到了操作系统的代码中去。(注意,操作系统的本质和驱动程序一样,就是一些代码。当按下电源键时,笔记本内部的驱动器硬件在硬盘中拷贝一份操作系统的代码,将其粘贴到内存中去,并且一直占用着这一小块儿内存,直到按下电源键关闭笔记本。你可以打开任务管理器查看内存使用情况,有些内存就是被操作系统代码占用了。)因为这一行会修改键盘的驱动程序,而键盘的驱动程序被内嵌到了操作系统代码中,所以换言之要修改操作系统的代码。而出于安全考虑,在Windows操作系统还在运行中时,就去修改已经被加载到内存中的Windows操作系统的代码是不被允许的,只能够修改硬盘中的Windows操作系统代码。而我们能感受的Windows操作系统的功能、界面等,都是由被加载到内存中的操作系统代码决定的,所以修改硬盘中的操作系统代码,根本不会对我们能感受的Windows操作系统的功能、界面等产生任何影响。所以说,只有重启笔记本之后,才可以使得这个功能生效。另外它需要笔记本驱动器硬件需要有10MB的空间,而这10MB的内容,就是VMware workstation团队为Windows操作系统中控制键盘的驱动程序新添加的代码。通过查阅VMware workstation产品的相关资料,了解到这个功能的主要作用有两点:1. 保证中国、德国、英国、日本、荷兰、美国等各个国家生产的键盘都能够很好的适配VMware workstation产品;2. 保证在VMware workstation平台上的虚拟机内,即使不知道此时键盘输入会影响Windows操作系统还是虚拟机内的操作系统,按下对于Windows操作系统是致命的某些快捷键时,比如早期Windows操作系统的Ctrl+Alt+Delete键(早期同时按下这三个键,Windows系统会直接重新启动,而这是致命的),也不会重启Windows系统。考虑到中国的键盘已经能够很好的适配VMware workstation产品,以及现在新版本的Windows操作系统在接收到键盘的"Ctrl+Alt+Delete"键时,并不会即刻重启,而是会先询问选择哪个操作。所以这个功能也是可以被忽略掉,但老师给的PPT要求勾选它,所以我们勾选它。如果日后想学习Windows操作系统以及Linux操作系统下的快捷键组合时,可以尝试学习了解“增强后的键盘驱动程序”这个功能。

而VMware workstation被默认安装在了C盘下的Program Files(x86)目录中,而Program File(x86)目录是用于存储在 Windows 操作系统中安装的 32 位应用程序的文件夹。所以我们知道,VMware workstation这个程序是一个32位的程序。注意不要改变VMware workstation的默认安装目录,因为日后如果做实验出现错误,去询问其他人时,大家看到你VMware workstation的安装目录不会时,一般的做法都是,让你重新安装VMware workstation,即使出现的错误跟VMware workstation的安装目录没有任何关系。所以除非你自己有把握能够独立查资料排错,否则不要更改安装目录。

**************************************************************************************************************

 (图1:安装步骤中令人比较纠结的两个选项)

************************************************************************************************************** 

在这个安装步骤中,我们将页面调成(图2:老师给的PPT要求两个选项都要勾选)所示的样子,接着点击"Next"进入下一步。 

**************************************************************************************************************

 (图2:老师给的PPT要求两个选项都要勾选)  

************************************************************************************************************** 

(图3:安装步骤中第二个必将经历的令人头大的选择) 第一行,在系统启动时,检查产品更新。这一点可有可无,但考虑到更新的VMware workstation产品可能会补上一些旧版VMware workstation中的漏洞,所以我们还是勾选它。第二行,加入VMware客户体验提升计划。这一点对于实际做实验的影响并不大,并没有强制选与不选的要求。但是VMware安装程序默认会勾选它,所以选择不去动它。确保页面是(图3:安装步骤中第二个必将经历的令人头大的选择)所示的样子,点击Next进入下一步。

**************************************************************************************************************

(图3:安装步骤中第二个必将经历的令人头大的选择)  

************************************************************************************************************** 

中间还有一些省略掉的步骤,而这些步骤被省略的原因,是因为无论勾选不勾选它,都不会对实验的完成产生任何影响。在下载完成VMware workstation之后,遇到(图4:重启计算机以使得对VMware workstation配置的改变生效)。我们将笔记本上的Edge浏览器、QQ、微信关掉,然后点击Yes重新启动计算机。

**************************************************************************************************************

(图4:重启计算机以使得对VMware workstation配置的改变生效)

 **************************************************************************************************************

至此,VMware workstation的下载与安装与配置完成,但由于VMware workstation Pro默认是需要购买,拿到许可证之后才能够使用,如果没有许可证,则只能够使用阉割版的VMware Player。我们要么在Windows操作系统下方的“搜索”栏中输入“Vmware workstation Pro”,要么在桌面双击“Vmware workstation Pro”快捷方式,进入VMware workstation。输入许可证:“JU090-6039P-08409-8J0QH-2YR7F”(有白嫖的嫌疑),进入到VMware workstation页面。至此VMware workstation Pro便能够使用了。如(图5:VMware workstation页面概览)所示,已经存在的RHCE90虚拟机是作者备考红帽认证工程师RHCE所需要做练习的练习环境,与该计算机系统基础实验关系不大,所以可以忽略掉。

**************************************************************************************************************

(图5:VMware workstation页面概览)

 **************************************************************************************************************

接着导入虚拟机。不过在导入虚拟机之前,先来认识它的文件。我们进入到老师给的PPT指定的网址中,下载Linux操作系统发行版之一的Ubuntu。并将其解压到某位置,如(图6:导入的虚拟机所在的目录)所示。另外,图6中有3个文件。第一个以".mf"作为后缀的文件,它用于列出 ovf 文件中ovf文件自己,以及ovf文件引用的所有文件,并记录了每个文件的哈希值,如(图7:Ubuntu20.04(From_heshi_2023_11_24).mf的内容)所示,SHA256能够读取任意长度的输出,并且输入固定长度的输出,而不同输入对应的输出相同的概率极低,所以可以认为,只有完完全全一模一样的输出,才能够产生相同的输出。利用这一特性,就能够判断文件在传输时,是否产生了差错,以及文件是否被坏人修改,而固定长度的输出,如104cd9ab9a4cab42a51b8b2aac6cd18f0f6857583463f69b14c9c378666b1f9f,a5db330f91f51d52c4cc5ca9870d824d37b5e0dfb6fe5947abcd47d51ef1e14b就叫做哈希值。而列出的两个文件Ubuntu20.04(From_heshi_2023_11_24).ovf,Ubuntu20.04(From_heshi_2023_11_24)-disk1.vmdk即为ovf文件自己,以及ovf文件引用的所有文件,只不过在这里,ovf文件只引用了一个文件。第二个文件是以".ovf"结尾的文件,它是 Open Virtualization Format (开放虚拟化格式) 文件,是一个文本文件,用于描述虚拟机配置,包括 CPU、内存、网络适配器等硬件设置和操作系统信息,并且用xml语言编写,如(图8:Ubuntu20.04(From_heshi_2023_11_24).ovf的内容)所示,而这份文件中具体的信息不需要我们去了解。第三个文件是以".vmdk"结尾的一份大文件,它就是 VMware 虚拟机磁盘格式文件,包含了安装在虚拟机上的操作系统和应用程序的所有数据。换言之,它拷贝了原来虚拟机硬盘里面的操作系统代码、老师额外配置的应用程序的代码,以及老师用来存放东西的文件、文件夹等数据。

**************************************************************************************************************

(图6:导入的虚拟机所在的目录)

**************************************************************************************************************

**************************************************************************************************************

(图7:Ubuntu20.04(From_heshi_2023_11_24).mf的内容)

************************************************************************************************************** 

 **************************************************************************************************************

(图8:Ubuntu20.04(From_heshi_2023_11_24).ovf的内容)

**************************************************************************************************************

接着开始正式导入虚拟机。设置导入的虚拟机的名称为"Ubuntu",其实无论虚拟机设置为什么名字,都不会有任何影响。接着设置虚拟机的存储路径。为什么老师给的PPT推荐是D盘呢?其实PPT推荐说放在D盘,是一个不好的表述。因为笔记本默认只有一块名为C盘的大小为512G的硬盘,除非后面自己参考资料,从C盘中拿走一部分空间,为其命名为D盘,否则D盘在初始时根本不存在(虽然C盘、D盘看着有两张盘,字面意义上看也应该有两块硬盘,但事实上,笔记本上永远只有一块硬盘,所谓C盘、D盘,只不过是为了便于管理而已)。而推荐D盘的原因,在现在针对笔记本电脑的情况下,更多是因为VMware默认给出的存储路径比较深,不方便后续自己感兴趣研究虚拟机文件情况时,找这些文件而已。其实这个存储路径,修不修改都无所谓。当出现(图9:VMware workstation针对“Ubuntu”虚拟机的配置页面)时,证明导入虚拟机已经成功。

**************************************************************************************************************

(图9:VMware workstation针对“Ubuntu”虚拟机的配置页面)

**************************************************************************************************************

成功导入虚拟机之后,先不要急着打开,而是先了解它的配置信息。在“Devices”下,“Memory”为4GB,表示该虚拟机的内存大小为4GB,因为该虚拟机开启了图形化界面,而图形化界面是由gnome软件包支持的,并且需要在虚拟机开启时,一直耗费一定的内存资源,所以将内存修改到了4GB,而如果使用"systemctl set-default multi-user.target"命令,将开机默认的界面设置为命令行界面,那么因为不需要加载相应的图形,所以对内存的需求不会这么高,所以将内存只修改为2GB就可以。像备考RHCE时,其中一款工具ansible,如果想充分使用ansible的功能,就需要同时开启至少三台虚拟机,一台作控制机,两台作被控制机,而ansible不需要图形化界面,所以我们在创建这三台虚拟机时,都将内存调整到了2GB。“Processors”为2,表示有2个处理器,一般来说,1个处理器对应2GB内存时,处理器和内存都得到了最充分的使用。而这里是4GB内存,所以将处理器数量设置为2。“Hard Disk(SCSI)”为20GB,表示虚拟机的硬盘的大小为20GB,(SCSI)表示硬盘的种类是SCSI,早期的硬盘一般有三种:SATA, SCSI, SAS。在这里不需要纠结为什么是SCSI,而不是SATA或者SAS。"CD/DVD(SATA)"为Using unknown backend,表示没有CD\DVD被该虚拟机使用。事实上,除非使用.iso文件创建虚拟机,否则我们根本不会使用到它,所以也可以忽略掉它。"Network Adapter"为"NAT",表示该虚拟机能够上网、浏览百度等。注意在扎实掌握计算机网络基础知识,以及懂得基本实践操作之前,千万千万不要试图修改网络相关的配置!!!因为这部分知识比较复杂,而且容易搞混,并且过程很容易让人感到浮躁,产生挫败感,所以不要试图去修改它,只需要知道,该虚拟机能够正常上网即可。"USB Controller"为Present,表示USB口能够正常使用,这也就意味着,我们将鼠标线通过USB插入到笔记本电脑的USB插槽后,不仅可以控制Windows系统,而且还可以控制虚拟机内的Ubuntu系统,如果将U盘插入到笔记本电脑的USB插槽,那么通过一些简单的步骤,Ubuntu系统也可以读取U盘内的文件。“Display”为auto detect,自动探测显示器,这表示虚拟机能够借用笔记本的显示器,将内容输出出来。

而在"Virtual Machine Details"下,"State"为Powered off,表示虚拟机的状态是关机状态,"Configuration file"为"C:\Users\35911\OneDrive\FreshmanNotes\文档\Virtual Machines\Ubuntu\Ubuntu.vmx",表示采用的配置文件即为"C:\Users\35911\OneDrive\FreshmanNotes\文档\Virtual Machines\Ubuntu\Ubuntu.vmx",该配置文件的内容如(图10:Ubuntu.vmx)所示。我们不需要去过度关注它的内容。"Hardware compatibility"为Workstation 16.2.x virtual machine表示,该虚拟机能够适配16.2.x版本及以上的VMware workstation虚拟机平台。考虑到软件迭代后的新版本一般都会兼容旧版本,所以我们采用的VMware17 Workstation Pro也是能够符合要求的。"Primary IP address"为Network information is unavailable,表示暂时还没有网络信息,毕竟连第一次开机都没有,当然不会有网络信息。只有第一次开机之后,下面几次在启动前的这个配置界面,才能看到"Primary IP address"。而为什么会这样,则千万不要深究,这些是大二上学期计算机网络的知识,现在不需要知道。

**************************************************************************************************************

(图10:Ubuntu.vmx)

**************************************************************************************************************

 接着启动虚拟机,启动之后的界面如(图11:第一次进入Ubuntu)所示。第一次进入Ubuntu这款Linux发行版,不要激动,不要四处乱逛,因为Linux系统最强大的功能是其丰富的命令行功能,而不是图形化界面,所以不要被其他人迅速探索到了新功能感觉自己被落下了而气馁。在虚拟机内右键点击鼠标,并点击“在终端中打开”(图12:右键点击“在终端中打开)”,进入命令行(图13:进入Ubuntu系统的命令行界面)。并且将界面调整到合适的大小(图14:将Ubuntu命令行界面调整到合适的大小),可以使用Ctrl+Shift+=这三个组合键,将命令行页面放大。(其实完全没有必要老师自己配一个Ubuntu系统,还自己搭建各种软件,完完全全可以自己下载一个最简单的CentOS7这个Linux发行版,并且只开启命令行界面,不加载图形化界面,然后通过在Windows系统的cmd中,使用SSH命令连接到这台虚拟机,接着只使用命令行即可,完全没有引入这么多复杂的花里胡哨的东西,至于VScode编辑器、自动更换镜像源、Fython工具等,只是为了提高效率,但其实根本不明白底层原理,用着并不踏实。而且除非团队合作完成一个几千行代码的大项目时才会用到VScode,否则一般情况下,用Windows系统自带的记事本,或者Linux系统的vim编辑器,就早已绰绰有余了。始终牢记计算机是用来解决问题的,而不是创造问题的。)

**************************************************************************************************************

(图11:第一次进入Ubuntu)

**************************************************************************************************************

**************************************************************************************************************

(图12:右键点击“在终端中打开)

**************************************************************************************************************

**************************************************************************************************************

(图13:进入Ubuntu系统的命令行界面)

**************************************************************************************************************

**************************************************************************************************************

(图14:将Ubuntu命令行界面调整到合适的大小)

************************************************************************************************************** 

 

最后,我们选择使用"scp"命令,将Windows系统中的实验一文件传输到Ubuntu虚拟机中。而要想使用"scp"进行文件传输,我们就需要知道Windows系统的IP地址(你不需要知道IP地址具体是做什么用的,你只需要记住它就可以,大二上的计算机网络会详细学的),以及Ubuntu虚拟机的IP地址。输入ip a | grep ens33 | grep inet | awk '{print $2}'命令,获取该虚拟机的IP地址,"ip a"表示获取该虚拟机的网络配置信息,"ip a | grep ens33"表示获取该虚拟机的网络配置信息,但不将结果输出到桌面上,而是将结果传输给命令"grep ens33","grep ens33"表示在文本或者输出结果中,找到哪一行含有"ens33",并且只将这一行打印出来,"ip a | grep ens33"的结果即为,命令ip a的结果中包含"ens33"的所有行,进而"ip a | grep ens33 | grep inet"的结果即为,命令ip a的结果中,既包含"ens33",又包含"inet"的所有行,awk '{print $2}'表示输出以空格分开的第2列,ip a | grep ens33 | grep inet | awk '{print $2}'命令的结果即为,命令ip a的结果中,既包含"ens33",又包含"inet"的所有行中的第2列,如(图15:获取虚拟机的IP地址)所示,我们知道了虚拟机的IP地址为192.168.133.128(忽略后面的/24,你现在不需要知道/24是做什么的,大二上计算机网络会详细讲)。

另外,因为scp基于ssh,而ssh服务没有在老师提供的Ubuntu系统上安装,所以我们需要在Ubuntu虚拟机上安装ssh服务,安装ssh服务的方法也很简单,如(图16:在Ubuntu虚拟机上安装sshd服务)所示,使用sudo apt-get install openssh-server命令,即可安装sshd服务。

**************************************************************************************************************

npusec@ubuntu:~/Desktop$ ip a | grep ens33 | grep inet | awk '{print $2}'
192.168.133.128/24

(图15:获取虚拟机的IP地址)

**************************************************************************************************************

**************************************************************************************************************

(图16:在Ubuntu虚拟机上安装sshd服务)

**************************************************************************************************************

 

接着获取Windows系统的IP地址,打开cmd命令行窗口,输入命令ipconfig | findstr "IPv4",得到输出结果,ipconfig是Windows系统中用来查看网络配置信息的命令,对应于Linux系统中的ip a与ifconfig等命令。findstr "IPv4"用于过滤出结果中包含IPv4的所有行,相当于Linux系统中的grep "IPv4"或者grep IPv4,具体结果如(图17:获取Windows系统的IP地址)所示。选择"192.168.133.128"作为Windows系统的IP地址(你不需要知道为什么选择它,而不选择剩下的两个),如果你的Ubuntu虚拟机的IP地址是"192.168.127.x"(x代表1到254之间的任何数,在这里你不需要知道为什么是1和254,大二上计算机网络会讲),那么在Windows系统中选择IP地址时,就选择192.168.127.几那个;如果你的Ubuntu虚拟机的IP地址是"192.168.126.x",那么在Windows系统中选择IP地址时,就选择192.168.126.几那个;如果你的Ubuntu虚拟机的IP地址是"192.168.125.x",那么在Windows系统中选择IP地址时,就选择192.168.125.几那个......我们选定192.168.133.128作为Ubuntu虚拟机的IP地址,选定192.168.133.1作为Windows系统的IP地址。

**************************************************************************************************************

(图17:获取Windows系统的IP地址)

**************************************************************************************************************

 

获取到Ubuntu虚拟机的IP地址为192.168.133.128,以及Windows系统的IP地址192.168.133.1之后,在Windows系统中进入实验一zip文件夹所在的工作目录,如(图18:进入到zip文件夹所在的工作目录)所示,接着输入命令scp .\lab1-handout.zip npusec@192.168.133.128:/home/npusec/Desktop,将Windows系统中当前工作目录下的lab1-handout.zip文件夹,传输到IP地址为192.168.133.128的机器,也就是Ubuntu虚拟机中去,并且存放到Ubuntu虚拟机的/home/npusec/Desktop当中,而npusec表示Windows系统扮演Ubuntu虚拟机中的npusec用户,执行传输文件的命令。如(图19:通过scp命令向Ubuntu系统中传输文件)所示,其中有一步提问"Are you sure you want to continue connecting",这步提问的目的是确保远程连接SSH的机器不是被其他人伪装的,我们可以简单的选择yes跳过(大三上密码学会详细讲到这一步的底层原理)。你也可以在Ubuntu虚拟机中,使用命令sudo ssh-keygen -lf ssh_host_ed25519_key -E SHA256,得到ed25519密钥(作者大三上密码学学的并不是很扎实,所以这儿的表述可能不太准确)的SHA256哈希值(这条命令作者也不是很懂),如(图20:使用ssh-keygen -lf命令得到Ubuntu虚拟机的密钥的哈希值)所示,Ubuntu虚拟机的密钥的哈希值为QeRO9kwp9qCySBSGECnx9fdaBPQPrKsW3nBC8BBdxbE,正好跟图19中所显示的密钥的哈希值相同,所以我们认为没有人伪装。

**************************************************************************************************************

(图18:进入到zip文件夹所在的工作目录)

**************************************************************************************************************

**************************************************************************************************************

(图19:通过scp命令向Ubuntu系统中传输文件)

************************************************************************************************************** 

**************************************************************************************************************

(图20:使用ssh-keygen -lf命令得到Ubuntu虚拟机的密钥的哈希值) 

************************************************************************************************************** 

虽然Windows的IP地址并没有被使用到,但是通过一些Windows系统上的配置,也能够实现Ubuntu虚拟机给Windows系统传输文件, 我们后续会讲到。现在我们查看Ubuntu是否已成功获取到目标文件。使用"cd /home/npusec/Desktop/"命令进入到/home/npusec/Desktop/文件夹,使用ls命令查看当前文件夹下的所有文件与文件夹。我们发现lab1-handout.zip文件已被成功传输到Ubuntu虚拟机中,如(图21:查看lab1-handout.zip文件)所示。

**************************************************************************************************************

(图21:查看lab1-handout.zip文件)

**************************************************************************************************************

 

最后,总结一下,我们学会了如何安装虚拟机平台VMware workstation,学会了如何导入虚拟机,以及学会了如何从Windows系统向Ubuntu虚拟机中导入文件。此外,记住一件事,不要被你们班里的其他人干扰到,他们虽然做得快,键盘敲得响,做出来答案时激动张狂的样子很讨厌,但是基础不牢,地动山摇,专心打好每一步基础,一步一步慢慢走,记好笔记,做好自己的事情,就足够了。我会陪你们走完计算机系统基础实验课的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/176041.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【开源】基于Vue+SpringBoot的大学生相亲网站

项目编号: S 048 ,文末获取源码。 \color{red}{项目编号:S048,文末获取源码。} 项目编号:S048,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 查询会员4…

OpenVINO异步Stable Diffusion推理优化方案

文章目录 Stable Diffusion 推理优化背景技术讲解:异步优化方案思路:异步推理优化原理OpenVINO异步推理Python API同步和异步实现方式对比 oneflow分布式调度优化优势:实现思路 总结: Stable Diffusion 推理优化 背景 2022年&am…

服务器中启动和停止项目

服务器中启动和停止项目 一、前言二、使用命令启动和关闭项目1、启动项目2、停止项目 三、使用可执行脚本启动和关闭项目1、启动项目2、停止项目 一、前言 在服务器上部署项目,一般就是将项目挂在后台,如果是微服务首选docker-compose,但如果…

深入解析Windows操作系统——系统结构

文章目录 需求和设计目标总体结构可移植性对称多处理可伸缩性 关键的系统组件Windows子系统Ntdll.dll执行体内核硬件支持硬件抽象层HAL设备驱动程序 Windows驱动程序模型执行体组件常用的绝大多数函数名前缀 系统进程空闲进程中断和DPCSystem进程和系统线程会话管理器Winlogon、…

OkHttp的配置

一、拦截器 1.添加拦截器的作用: 每次在请求过程中就会回调一次intercept方法 2.拦截器的回调方法里我们可以做那些事情: 当前的请求还没有发给服务器,比如我们在与服务器通信的时候,一个应用中很多地方都会跟服务器发起通信。…

办公软件PDF转换工具 - pdftool

办公软件PDF转换工具 - pdftool,支持: 1、图片转PDF,支持图片自动压缩,可预览图片 2、合并PDF,支持多个PDF合并成一个PDF 3、PDF转图片,PDF的每页转成一张图片 4、OFD转PDF,OFD办公常用于国内的…

假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,可共享相同的后缀存储空间,例如,“loading”,“being”的存储映像如下图所示。

假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,可共享相同的后缀存储空间,例如,“loading”,“being”的存储映像如下图所示。 设str1和str2分别指向两个单词所在单链表的头结点,链表结点结构为 data ne…

修复debain/ Ubuntu 中的“密钥存储在旧版 trust.gpg 密钥环中”问题

如果您在 Ubuntu 22.04 及更高版本中使用 PPA 或添加外部存储库,您很可能会看到如下消息: W: https://packagecloud.io/slacktechnologies/slack/debian/dists/jessie/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg),…

Python3 Linux 安装教程

1. windows安装 去Python官网下载windows安装包,按照安装向导一直点击下一步即可,安装向导最好勾选Add Python3.x to PATH,这样就不用手动添加环境变量了。 2. linux安装 linux安装比较复杂,需要安装一些系统依赖,再…

winfrom 插件 ICSharpCode.SharpDevelop 使用 修改图标配置

1.需要安装 SharpDevelop 这个IDE对应的开发小工具 , 下载地址 SharpDevelop download | SourceForge.net 2.安装以及设置中文等其他的条件对应操作步骤,参考 SharpDevelop安装与配置 3.修改 图标配置 找到对应的 BitmapResources.resources 文件…

【C++】什么是模板?怎样使用模板?

👀樊梓慕:个人主页 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》 🌝每一个不曾起舞的日子,都是对生命的辜负 目录 前言 1.函数模板 1.1函数模板概念 1.2函数…

神奇的世界(高斯核是唯一可以产生多尺度空间的线性核研究总结,两个高斯公式的联系,和推导)

放大缩小其实在现实世界中不存在。 也就是说尺度是不存在的。 比如树的长大,人的长大,从来就不是放大能解释的。 但你发现,这种事情存在于人的眼睛当中,光线真是神奇的东西。 但现实的东西是不存在放大缩小的,只有…

共筑关基安全防线,开源网安加入中关村华安关键信息基础设施安全保护联盟

近日,开源网安正式加入“中关村华安关键信息基础设施安全保护联盟”(以下简称:关保联盟)成为会员单位,进一步加强与行业内重要机构、企业的协同合作,推动关键信息基础设施安全保护领域的生态建设。 未来&am…

主机怎么通过命令行方式向虚拟机传输文件

这是几个月前遇到的问题了,那时候想着要记录下来,但后来忙忘了,这次想起来了,于是记录一下。 之前打靶场的时候需要将netcat-win32-1.12放入虚拟机的/var/www/html下,但是我虚拟机无法上网,也就是说无法直…

[每周一更]-(第74期):Docker-compose 部署Jenkins容器-英文版及错误纠错

1、前文概要 通过物理机部署Jenkins前文已经讲过(地址:[Jenkins] 物理机 安装 Jenkins),也已经公司内部平稳运行若干年,考虑到容器化的使用场景,部分项目都采用容器运行,开始考虑部署容器化的J…

RK3568 android11 实现双路I2C触摸 --GT9xx

一,GT911 触摸屏简介 它的接口类型为 I2C ,供电电压和通讯电压均为 3.3V 。这款电容触摸屏内置了上拉电阻,这意味着我们的开发板上与该触摸屏的接口处不需要设置上拉电阻。关于线序,同样是 GT911 ,不同批次的器件都有…

U-Net及其变体在医学图像分割中的应用研究综述

U-Net及其变体在医学图像分割中的应用研究综述 论文来自:中国生物医学工程学报 2022 摘 要: 医学图像分割可以为临床诊疗和病理学研究提供可靠的依据,并能辅助医生对病人的病情做出准确的判断。 基于深度学习的分割网络的出现解决了传统自动分…

数据结构与算法(三)贪心算法(Java)

目录 一、简介1.1 定义1.2 基本步骤1.3 优缺点 二、经典示例2.1 选择排序2.2 背包问题 三、经典反例:找零钱3.1 题目3.2 解答3.3 记忆化搜索实现3.4 动态规划实现 一、简介 1.1 定义 贪心算法(Greedy Algorithm),又名贪婪法&…

串口波形延时问题再次故障测试分析

先放电路图吧 这个延时问题测试了很多天,怎么感觉总是有没有想到的问题可以测试,总是有原件可以替换改善问题,再次测试了三极管的C脚波形: 从上到下的3个波形分别是MCU出来的波形,经过三极管反向的波形,…

2.ORB-SLAM3中如何从二进制文件中加载多地图、关键帧、地图点等数据结构

目录 1 为什么保存&加载(视觉)地图 1.1 加载多地图的主函数 1.2 加载各个地图 Atlas::PostLoad 1.3 加载关键帧及地图点Map::PostLoad 1.4 恢复地图点信息 MapPoint::PostLoad 1.5 恢复关键帧信息KeyFrame::PostLoad 1 为什么保存&加载(视觉)地图 因为我们要去做导…