一.学习的内容
1、Vim文本编辑器
在Linux系统中一切都是文件,而配置一个服务就是在修改其配置文件的参数。这里选择Vim文本编辑器,它默认会安装在当前所有的Linux操作系统上。Vim编辑器设置了3种模式——命令模式、输入模式、末行模式,每种模式分别又支持多种不同的命令快捷键,这大大提高了工作效率。
命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。
输入模式:正常的文本录入
末行模式:保存或退出文档,以及设置编辑环境。
在每次运行Vim编辑器时,会默认进入命令模式,此时需要先切换到输入模式后再进行文档编写工作。而每次在写完文档后需要先返回命令模式,然后再进入末行模式,执行文档的保存或退出操作。在vim中,无法直接从输入模式切换到末行模式。下图是三种模式的关系图:
![](https://i-blog.csdnimg.cn/blog_migrate/b25818cb3d2d7e20224772b0c149ca37.png)
下表总结了在命令模式中最常用的一些命令及其作用:
命令 | 作用 |
dd | 删除(剪切)光标所在的那一行 |
5dd | 删除(剪切)从光标处开始的五行 |
yy | 复制光标所在的那一行 |
5yy | 复制从光标处开始的五行 |
u | 撤销上一步操作 |
p | 将之前删除或复制过的数据粘贴到光标后面 |
n | 显示搜索命令定位到的下一个字符 |
N | 显示搜索命令定位到的上一个字符 |
末行模式主要用于保存或退出文件,以及设置Vim编辑器的工作环境,还可以让用户执行外部的Linux命令或跳转到所编写文档的指定行。要想切换到末行模式,在命令模式中输入一个冒号就可以了。末行模式常用的命令如表2所示:
命令 | 作用 |
:w | 保存 |
:q | 退出 |
:q! | 强制退出 |
:wq! | 强制保存退出 |
:set nu | 显示行号 |
:set nonu | 不显示行号 |
:命令 | 执行该命令 |
:整数 | 跳转到该行 |
:s/noe/two | 将光标所在行的第一个one替换成two |
:s/one/two/g | 将光标所在行的所有one替换成two |
:%s/one/two/g | 将整个文本的one替换成two |
?字符串 | 在文本中自下而上搜索该字符串 |
/字符串 | 在文本中自上而下搜索该字符串 |
2、编写简单文档
编写文档的第一步就是给文档取个名字,这里将其命名为 practice.txt 。如果存在该文档,则是打开它;如果不存在,则是创建一个临时的输入文件,如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/4872f2149f8adb3b821436ba7a9d7c63.png)
执行上图中的命令后,会进入图3所示的 命令模式 。
![](https://i-blog.csdnimg.cn/blog_migrate/6bb67cd7f5a36e97630db14bd5fc582b.png)
在命令模式中可分别使用 a、i、o 这三个键从命令模式切换到输入模式。其中,a键——在光标后面一位切换到输入模式;i键——在光标当前位置切换到输入模式;o 键——在光标下面再创建一个空行。此时,敲击 a 键进入下图所示的界面(注意左下方在不同模式下显示的也不同):
![](https://i-blog.csdnimg.cn/blog_migrate/5732fffea1c1b84e32388c5a4310b78b.png)
进入输入模式后,可以随意输入文本内容,Vim编辑器不会把我们的输入内容当作命令而执行,如图五所示:
![](https://i-blog.csdnimg.cn/blog_migrate/f9c3ab5077a5888c7eff0a3c5c9bfd38.png)
输入结束后,敲击esc 键,返回到命令模式,如下图所示(注意左下角的变化):
![](https://i-blog.csdnimg.cn/blog_migrate/89af573ace917aac76018d00db67cba9.png)
然后,再输入 : 进入末行模式,最后在输入 wq! 退出并保存。
![](https://i-blog.csdnimg.cn/blog_migrate/b4cc4eaadc9c3c945201d7eed25dbc83.png)
退出后,回到了我们最熟悉的界面,使用 cat 命令进行查看刚才编辑的文件,如下图所示
![](https://i-blog.csdnimg.cn/blog_migrate/d3c132314d7041933b6aa1aad3ea7c78.png)
再在刚才的文档内追加内容,这次选择点击 o 键进行命令模式到输入模式的切换,如下图所示,在光标的下面一行创建了一个空行。
![](https://i-blog.csdnimg.cn/blog_migrate/766aa22ce80f11b4c961a2290cad3589.png)
进入输入模式后,输入想要的内容,如图10 所示:
![](https://i-blog.csdnimg.cn/blog_migrate/d695fc7c04babb80b8311e6a2996d420.png)
然后 ,按esc 退出输入模式,然后输入 :q 惊醒退出。
![](https://i-blog.csdnimg.cn/blog_migrate/b1222c99f263ecf0a2964cc62ff76bc6.png)
执行上图的退出操作发现不让退,这是因为你对文档做了更改且没有保存,此时可以选择强制退出 :q! ,如图13所示:
![](https://i-blog.csdnimg.cn/blog_migrate/de78cac05259081ed2fea9576d68f61e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5c7fd93a69a0329b5dbde9fb2483aff4.png)
退出后,再次执行 cat 命令,发现和上次输出的一样。这表明刚才对文档的修改是没有保存的。
![](https://i-blog.csdnimg.cn/blog_migrate/875a291e8c150cb01ace07fde1931cd9.png)
3、实验:配置主机名称
在Linux系统中,主机名大多保存在/etc/hostname 文件中,接下来将 /etc/hostname 配置文件的内容修改为 “ linux.com ”,步骤如下:
第一步:使用Vim编辑器修改 /etc/hostname 主机名称文件。
先使用cat 命令查看一下主机名称
![](https://i-blog.csdnimg.cn/blog_migrate/dc9ba43141b5075458216c6d360648b6.png)
之后执行 vim /etc/hostname 命令,修改 /etc/hostname 文档
![](https://i-blog.csdnimg.cn/blog_migrate/0298c8b14b2ffeca208f545d1a763c17.png)
第二步:把原始主机名删除,然后追加 linux.com 。
第三步:保存并退出文档。 在末行模式中执行 wq或wq! 。
![](https://i-blog.csdnimg.cn/blog_migrate/2afc42a277e6d2cb1c75d322cbc97f3f.png)
第四步:使用hostname 命令查看是否修改成功。
![](https://i-blog.csdnimg.cn/blog_migrate/300e3900baea8f66e26ed192c09f14f7.png)
hostname命令用于查看当前主机名称,但有时主机名称的改变不会立即同步到系统中,所以可以重启虚拟机后再查看。
二.本次学习遇到的问题
什么是脚本、脚本文件?
三、问题的答案及解决办法
脚本是一系列按照特定顺序编写的计算机指令或命令,通常用于自动化和简化重复性任务的执行。脚本通常由脚本语言编写,这些语言具有较高的可读性和易用性,比如Shell脚本、Python脚本、JavaScript脚本等。
脚本文件是包含脚本代码的文本文件,它通常以特定的文件扩展名来标识所使用的脚本语言。
脚本语言和普通的编程语言之间有一些区别,主要体现在以下几个方面:
用途和场景:脚本语言通常用于自动化任务、简化操作、系统管理等需要快速实现和执行的场景,而普通的编程语言则更广泛地用于开发应用程序、软件系统等。脚本语言更注重于简洁、快速地完成特定任务,而普通编程语言更注重于程序结构的设计、性能优化等方面。
执行方式:脚本语言通常以脚本文件的形式存在,由解释器逐行解释执行。而普通的编程语言通常是通过编译器将源代码编译成机器码或中间代码,然后再执行。
语法和特性:脚本语言通常具有更简洁、易读的语法,更适合快速编写和修改。而普通的编程语言可能具有更丰富的特性和更复杂的语法结构,以支持更复杂的软件开发需求。
运行环境:脚本语言通常依赖于特定的解释器或运行时环境,例如Shell脚本依赖于Shell解释器,Python脚本依赖于Python解释器等。而普通的编程语言可能需要额外的开发环境或者运行时库。
总的来说,脚本语言更适用于快速实现和执行简单任务,而普通的编程语言则更适用于开发复杂的软件系统和应用程序。