暑假期间我将VMware的ubuntu虚拟机重新装载了(之前崩了),并每天在终端练习运行命令行。开学后当我又重新打开ubuntu时,发现又出现了问题,

如下图所示:

         提示消息说无法打开虚拟机,获取该虚拟机的所有权失败,主机上的某个应用程序正在使用该虚拟机。我很疑惑,明明自己之前没有打开过这个虚拟机,我关掉VMware重启还是依旧报错,我上网寻找解决办法,最终在看了https://blog.csdn.net/zqq_2016/article/details/105804213的操作方法后,问题得到了解决。

提示让我删掉后缀为lck的文件,我于是找到ubuntu所在的文件夹,按照提示删除了ubutun.vmx.lck

 等我再次打开时,发现已经可以正常打开了。

 第一章简单介绍了unix、Linux的性质特性,记忆文件系统组织。比如目录文件、非目录文件

在终端简单输入几行命令,创建目录、清空删除目录:

 

 第二章中讲解了多个编译器,其中vim编译器是Linux的标准内置编译器,所以无需再下载

vim有三种不同的操作模式,分别是命令模式、插入模式和末行模式。

 

 在ubuntu终端进行操作如下:

可插入  手动输入字符

 点击esc退出,再重新输入“w"可保存

 

 在终端输入vim

 

 编写一个简单的输出程序:

 

 

可以看到当前路径中多了一个test.c

 

 

 

 发现没有下载gcc编译器,输入sudo apt install gcc时,出现了以下的提示:

无法获得锁....我上网查找原因,获得如下的解决办法:

 

 直接输入以上两行标红的命令行,就可以解除锁定,继续完成gcc的下载安装

 

下载成功后重新编译运行:

 

 再使用h、k、l、j、上下移动光标,输入x删除void,输入i插入int,输入:wq test.c重新保存,再次编译运行,生成二进制文件:

 

 可发现桌面多了一个test文件,输入./test ,可输出I'm wangjing

还可输入gcc -S test.c 生成汇编文件,ls桌面会发现多出一个test.s的文件,用vim编辑器打开后,显示出汇编语言

 

 make 程序:

 当我输入gcc -o myt make.c mysum.c时,发现报错(-0-)

 这部分还不是特别的理解,之后我会再多翻翻课本,继续实践

********通过这两章的学习,我感觉收获到的最大的部分就是较为熟练地使用了vim文本编辑器,可以利用h j k i q 等字母操作符来对代码进行修改编辑,我尝试了不同类型的代码,带有函数和不同头文件代码的编译也让我加深了对链接器的理解,了解了从代码到汇编语言,再到机器语言的编译过程,(比如test.c ----->test.s------>test.o)

感觉这个和上学期计算机组成原理中学过的汇编语言有所区别但也有共通之处,更加深了我对系统这个概念的理解。不过,我发现vim编译器用起来不是特别的方便,首先因为它没有精美的ui设计,所有输入输出全都是在终端通过输入命令行完成;其次,用字母操作符来进行光标的移动十分不便,有时候修改代码的一两个字符都要花费较多的时间。这个问题在emacs编辑器中得到了较好的解决,emacs编辑器有较为人性化的输入界面设计,使用起来非常方便。SS