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

首先,下载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.rhkb.cn/news/207164.html

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

相关文章

Android 12 及以上授权精确位置和模糊位置

请求位置信息权限 为了保护用户隐私,使用位置信息服务的应用必须请求位置权限。 请求位置权限时,请遵循与请求任何其他运行时权限相同的最佳做法。请求位置权限时的一个重要区别在于,系统中包含与位置相关的多项权限。具体请求哪项权限以及…

Linux uname命令教程:如何打印linux操作系统名称和硬件的基本信息(附实例教程和注意事项)

Linux uname命令介绍 uname命令是一个在Linux中常用的命令行工具,用于打印有关操作系统名称和系统硬件的基本信息。uname这个名字来源于"UNIX name"。它最常用于确定处理器架构,系统主机名和系统上运行的内核版本。 Linux uname命令适用的Li…

Python面向对象练习

Python面向对象练习 class Enty:blood100name""atackvalue100team0domain[1] #1,land 2 airdef setTeam(self,team0):self.teamteamdef atack(self,Enty):if self.teamEnty.team:print("不能向盟军开火")self.info()passelse :# print(self.domain)ss…

级联组件-双向绑定

页面1 级联选择器 <select-tree></select-tree>,这样要引入封装好的&#xff0c;并且记得注册 <el-row><el-col :span"12"><el-form-item label"部门" prop"departmentId"><!-- 单独封装--><!-- 在父组…

Docker容器中的OpenCV:轻松构建可移植的计算机视觉环境

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 构建可移植的计算机视觉环境 文章目录 前言引言简介&#xff1a;目的和重要性&#xff1a; 深入理解Docker和OpenCVDocker的基本概念和优势&#xff1a;OpenCV简介和应用领域&#xff1a;…

在龙蜥 anolis os 23 上 源码安装 PostgreSQL 16.1

在龙蜥 OS 23上&#xff0c;本来想使用二进制安装&#xff0c;结果发现没有针对龙蜥的列表&#xff1a; 于是想到了源码安装&#xff0c;下面我们列出了PG源码安装的步骤&#xff1a; 1.安装准备 1.1.创建操作系统组及用户 groupadd postgres useradd -g postgres -m postgr…

【Linux】快速上手自动化构建工具make/makefile

&#x1f440;樊梓慕&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》 &#x1f31d;每一个不曾起舞的日子&#xff0c;都是对生命的辜负 目录 前言 1.什么是make / makefile 2…

虹科干货 | 适用于基于FPGA的网络设备的IEEE 1588透明时钟架构

导读&#xff1a;在基于FPGA的网络设备中&#xff0c;精确的时间同步至关重要。IEEE 1588标准定义的精确时间协议&#xff08;PTP&#xff09;为网络中的设备提供了纳秒级的时间同步。本文将介绍虹科提供的适用于基于FPGA的网络设备的IEEE 1588透明时钟&#xff08;TC&#xff…

Android的启动模式

Android的四种启动模式&#xff1a;standard、singleTop、singleTask和singleInstance。 1.standard Android默认的启动模式是standard&#xff0c;每启动一个Activity&#xff0c;它都会在返回栈中入栈&#xff0c;并处于栈顶&#xff0c;不管这个返回栈是否存在这个activit…

如何查看电脑内存?Windows 和 Mac 方法不同

Windows 系统查看内存方法 在 Windows 操作系统中我们查看电脑内存在哪里查呢&#xff1f;下面总结的 3 种查看电脑内存的方法都可以使用&#xff1a;使用任务管理器&#xff1a;任务管理器是 Windows 中一个强大的工具&#xff0c;可用于监视和管理计算机的性能和资源使用。使…

SpringBoot参数校验@Validated和@Valid的使用

1、Validated和Valid区别 Validated&#xff1a;可以用在类、方法和方法参数上。但是不能用在成员属性&#xff08;字段&#xff09;上Valid&#xff1a;可以用在方法、构造函数、方法参数和成员属性&#xff08;字段&#xff09;上 2、引入依赖 Spring Boot 2.3 1 之前&…

2023年亚太杯数学建模A题水果采摘机器人的图像识别功能(免费思路)

中国是世界上最大的苹果生产国&#xff0c;年产量约为 3500 万吨。同时&#xff0c;中国也是世界上最大的苹果出口国&#xff0c;世界上每两个苹果中就有一个出口到国。世界上每两个苹果中就有一个来自中国&#xff0c;中国出口的苹果占全球出口量的六分之一以上。来自中国。中…

【机器学习】线性模型之逻辑回归

文章目录 逻辑回归Sigmoid 函数概率输出结果预测值与真实标签之间的并不匹配交叉熵逻辑回归模型 梯度下降逻辑回归模型求解编程求解sklearn 实现&#xff0c;并查看拟合指标 逻辑回归 逻辑回归是一种广义线性模型&#xff0c;形式上引入了 S i g m o i d Sigmoid Sigmoid 函数…

(2)(2.2) Lightware SF45/B(350度)

文章目录 前言 1 安装SF45/B 2 连接自动驾驶仪 3 通过地面站进行配置 4 参数说明 前言 Lightware SF45/B 激光雷达(Lightware SF45/B lidar)是一种小型扫描激光雷达&#xff08;重约 50g&#xff09;&#xff0c;扫描度可达 350 度&#xff0c;扫描范围 50m。 1 安装SF45…

python 中文件相对路径 和绝对路径

什么是绝对路径 绝对路径&#xff1a;就是从盘符(c盘、d盘)开始一直到文件所在的具体位置。 例如&#xff1a;xxx.txt 文件的绝对路径为&#xff1a; “C:\Users\xiaoyuzhou\Desktop\file\xxx.txt”相对路径 “相对路径”就是针对“当前文件夹”这一参考对象&#xff0c;来描述…

强化学习-DQN

网上看了很多&#xff0c;但是还是觉得这篇文章讲得最好&#xff1a; 可视化强化学习解释 - Deep Q Networks&#xff0c;循序渐进 |Ketan Doshi 博客 (ketanhdoshi.github.io)

深度学习(三):pytorch搭建卷积神经网络

1.常用函数介绍 0 设备准备 device torch.device("cuda:0" if torch.cuda.is_available() else "cpu")这行代码是用来选择设备的&#xff0c;根据是否有可用的 CUDA 设备来选择使用 GPU 还是 CPU 进行计算。 更详细的解释如下&#xff1a; torch.cuda.…

C语言-指针讲解(4)

在上一篇博客中&#xff1a; C语言-指针讲解(3) 我们给大家介绍了指针进阶的用法 让下面我们来回顾一下讲了什么吧&#xff1a; 1.字符指针变量类型以及用法 2.数组指针本质上是一个指针&#xff0c;里面存放数组的地址。而指针数组本质上是个数组&#xff0c;里面存放的是指针…

IDEA maven无法下载源代码处理

1、使用idea内置maven 在idea中新增一个mvn运行项,截图如下: 输入命令: dependency:resolve -Dclassifiersources 2、如果外部maven&#xff0c;不使用idea内部maven 在工程目录下命令行执行命令: mvn dependency:resolve -Dclassifiersources

智慧城市政务一网统管解决方案:PPT全文34页,附下载

关键词&#xff1a;智慧政务解决方案&#xff0c;智慧城市解决方案&#xff0c;智慧政务一网统管解决方案&#xff0c;一网统管治理理念&#xff0c;一网统管治理体系&#xff0c;一网统管治理手段&#xff0c;智慧政务综合服务平台建设 一、智慧城市政务一网统管建设背景 一…