Linux基础(Vim编辑器与Shell命令脚本)

1、Vim文本编辑器

Vim文本编辑器有三种模式

命令模型:控制光标移动,可对文本进行复制、粘贴、删除和查找得等工作。

输入模式:正常的文本录入

末行模式:保存或退出文档,以及设置编辑环境。

在每次运行Vim编辑器时,默认进入命令模式,此时需要先切换到输入模式后再进行文档编写工作,而每次再编写完文档后需要先返回命令模式,然后再进入末行模式,执行文档的保存或退出操作。再Vim中,无法直接从输入模式直接切换到末行模式。Vim编辑器中内置的命令有成百上千用法。

命令模式常用命令

命令作用
dd删除光标所在整行
5dd删除从光标处开始的5行
yy

复制光标所在行

5yy复制从光标处开始的5行
n显示搜索命令定位的下一个字符串
N显示搜索命令定位的上一个字符串
u撤销上一步的操作
p将之前删除(dd)或复制(yy)过的数据粘贴到光标后面

末行模式中可用的命令

命令作用
:w保存
:q退出(放弃对文档的修改内容)
:q!强制退出
:wq!强制保存退出
:set nu显示行号
:set nonu不显示行号
:命令执行该命令
:整数跳转到该行
:s/one/two

将当前光标所在行的第一个one替换成two

:s/one/two/g将当前光标所在行的索引one替换成two
:%s/one/two/g将全文中的所有one替换成two
?字符串在文本中从下至上搜索该字符串
/字符串在文本中从上至下搜索该字符串

编写简单的文档

[root@localhost ~]# vim test

我们可以分别使用a、i、o 三个键从命令模式切换到输入模式,如图

接下来我们就可以输入一些内容了

 输入完成后,切换至命令模式

保存退出

配置主机名称

为了便于在局域网中查找某台特定的主机,或者对主机进行区分,除了要有IP地址外,还要为主机配置一个主机名,主机之间可以通过这个类似于域名的名称来相互访问。在Linux系统中,主机名大多保存在/etc/hostname,接下来/etc/hostname文件修改内容为“DongFang”。

第一步,使用Vim编辑器修改“/etc/hostname”主机名称文件

第二步,把原有主机名删除,追加“DongFang”。

第三步,保存退出,使用hostname命令查看是否修改成功

Vim编辑器功能非常强大,应用范围广,在配置网卡信息、配置Yum软件仓库和撰写脚本等方面表现出色。我们就不一一举例了。

2、编写Shell脚本

可以将Shell终端解释器当作人与计算机硬件之间的翻译官,它作为用户与Linux系统内部的通信媒介,除了能够支持各种变量与参数之外,还提供了诸多循环,分支等高级编程语言才有的控制结构特性。

Shell脚本命令的工作方式有两种:

交互式:用户每输入一条命令就立即执行

批处理:由用户实现编写好的一个完整的Shell脚本,Shell会一次性执行脚本中诸多命令。

 查看SHELL变量可以发现当前系统已经默认使用Bash作为命令行终端解释器了

编写简单的脚本

例如,我们想查看当前工作路径并列出当前目录下所有的文件及其属性信息。

Shell脚本文件的名称是任意的,但为了避免被误认为是普通文件,建议将.sh后缀加上,以表示一个脚本文件。

在上面的脚本中出现看三种不同的元素:

第一行的脚本声明(#!)用来告诉系统使用哪种Shell解释器来执行脚本;

第二行的注释信息(#)是对脚本功能和某些命令的介绍信息。

第三,四行的可执行语句也就是我们平时的命令

第一种执行方式,bash解释器命令直接运行Shell脚本

第二种执行方式,通过输入完整路径的方式来执行

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

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

相关文章

Python二级笔记(17)

操作题: 1,接收用户输入的一个浮点数,输出这个浮点数的小数部分各字符的和,以10为宽度,靠右显示,,采用星号*填充。 代码: s input("请输入一个小数:") s s[::1] cs () for c in…

Python二级笔记(18,19合集操作篇)

操作题: 1,键盘输入正整数n,按要求把n输出到屏幕,格式要求:宽度为25个字符,等号字符()填充,右对齐,带千位分隔符。如果输入正整数超过25位,则按照真实长度输…

Qt图形界面编程入门(信号和槽通信机制)

信号和槽机制是Qt的核心机制,可以让编程人员将互不相关的对象绑定在一起,实现对象之间的通信。 声明了信号的对象,当其状态改变时,信号就由该对象发送出去,而且该对象只负责发送信号,它不知道另一端是谁在…

Python二级笔记(18,19合集知识点篇)

知识点: 1,软件测试的目的是发现程序中的错误。调试是作为成功测试的后过而出现的步骤,也就是,调试是在测试发现错误之后排除错误的过程。软件调试的任务是诊断和改成程序中的错误。 2,深度等于控制的层数 3&#x…

Linux基础(用户身份和文件权限)

用户身份与能力 Linux是一个多用户、多任务的操作系统,具有很好的稳定性与安全性,在幕后保障Linux系统安全则是一系列复杂的配置工作。 Linux系统的管理员之所以是root,并不是因为它的名字叫root,而是因为该用户的身份号码即UID…

TensorFlow实验(1)

实验1-2 搭建深度学习开发环境 1)安装Anaconda 2)创建虚拟环境: 3)激活环境 4)安装tensorflow 5)安装jupyter notebook 安装完成之后,运行第一个程序“Hello,World” 要求:详细安装步骤&…

TensorFlow实验(2)

实验3-4 数据结构-张量 1)已知两个张量[1,3,5,7]和[2,4,4,8],编写一个模型,计算两个张量的加法,输出结果,并在tensorboard中显示 2)已知张量[1,2,3,4,5,6,7,8,9,10,11,12]有12个元素,利用tf.reshape()将其…

Linux基础(文件权限续篇)

文件的特殊权限 在复杂多变的生产环境中,单纯设置文件的rwx权限无法满足我们对安全和灵活性的需求,因此便有了SUID,SGID,SBIT的特殊权限位。这是一种对文件权限进行设置的特殊功能,可以与一般权限同时使用,以弥补一般权限不能实现…

Linux基础(存储结构和磁盘划分)

一切从“/”开始 在Linux系统中,目录、字符设备、块设备、套接字、打印机等都被抽象成了文件,一切皆为件 与windows操作系统不同,Linux系统内不存在C/D/E/F盘等,一切文件都是从根(/)目录开始的 Linux系统…

软件工程(需求分析)

需求分析 为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深人理解是软件开发工作获得成功的前提条件,不论人们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望.给开发者带来烦恼。 需求分析是软…

TensorFlow构建二维数据拟合模型(1)

知识图谱 TensorFlow运行机制 TensorFlow是基于计算图的深度学习编程模型 Tensor表示张量,其实质上是某种类型的多维数组 Flow表示基于数据流图的计算,实质上是张量在不同节点间的转化过程。 在TensorFlow中,计算图中的节点称为OP&…

Qt图形界面编程入门(标签与槽机制习题分享)

标签对象初始显示0&#xff0c;每次单击标签对象后&#xff0c;其显示内容就加1&#xff0c;依次变为1、2、3等。 #ifndef DIALOG_H #define DIALOG_H#include <QDialog> #include <QPushButton> //包含命令按钮类 #include "MyLabel.h"class Dialo…

js中执行到一个if就停止的代码_Node 中如何引入一个模块及其细节

在 node 环境中&#xff0c;有两个内置的全局变量无需引入即可直接使用&#xff0c;并且无处不见&#xff0c;它们构成了 nodejs 的模块体系: module 与 require。以下是一个简单的示例const fs require(fs)const add (x, y) > x ymodule.exports add虽然它们在平常使用…

二级MS Office公共基础知识错题本(1)

1&#xff0c;顺序程序具有顺序性、封闭性和可再现性的特点&#xff0c;不具备并发性 2&#xff0c;为了降低算法的空间复杂度&#xff0c;主要应减少输入数据所占的存储空间以及额外空间&#xff0c;通常采用压编存储技术。 3&#xff0c;树的总的结点数为树中所有结点的度数…

c++ file* 句柄泄漏_C++核心指南:P.8 勿泄漏任务资源

P.8: 勿泄漏任务资源原因随着时间的推移&#xff0c;即使是资源的缓慢增长也会耗尽这些资源的可用性&#xff0c;这对于长时间运行的程序特别重要&#xff0c;但也是负责任的编程行为的基本部分。糟糕的例子void f(char* name){ FILE* input fopen(name, "r"); // .…

数据规范化、实体-联系图、状态转换图、层次方框图、Warnier图、IPO图及验证软件需求

数据规范化 软件系统经常使用各种长期保存的信息&#xff0c;这些信息通常以一定方式组织并存储在数据库或文件中&#xff0c;为减少数据冗余&#xff0c;避免出现插入异常或删除异常&#xff0c;简化修改数据的过程,通常需要把数据结构规范化。 通常用“范式(normal forms)”…

Linux基础(iptables与firewalld防火墙)

iptables 在早期的Linux系统中&#xff0c;默认使用的是iptables防火墙管理服务来配置防火墙。尽管新型的fierwalld防火墙管理服务已经被投入使用多年&#xff0c;但是大量的企业在生产环境中依然出于各种原因而继续使用iptables。 策略与规则链 防火墙会从上至下的顺序来读…

虚拟跳线软件干什么用的_疯狂刷单!用违法软件生成虚拟手机号,“骑手”半年“刷单”牟利60余万,百米内竟有万笔订单 | 申晨间...

来源&#xff1a;新闻晨报 记者&#xff1a;吴艺璇借助违法软件生成虚拟手机号码&#xff0c;利用平台审核漏洞大量注册用户&#xff0c;大量“刷单”骗取平台的返现和购物补贴&#xff0c;半年内疯狂刷1.8万余单&#xff0c;累计牟利60余万元。近日&#xff0c;在市公安局刑侦…

ygo游戏王卡组_ACG大科普(7)游戏王

大家是否在小时候接触过一种卡片类似这种的 这就是今天的主角游戏王。 背景 1996年&#xff0c;《游戏王》漫画开始在集英社《周刊少年Jump》连载。 1998年&#xff0c;Bandai推出以《游戏王》原作中登场的集换卡牌游戏“M&W”为题材的集换卡牌。 采用Bandai的卡片自动贩卖…

Qt图形界面编程入门(基本窗口及控件)

基本窗口类QWidget QWidget是所有窗体部件的基类&#xff0c;例如对话框类&#xff0c;主窗体类&#xff0c;以及其他诸如按钮&#xff0c;编辑框&#xff0c;标签等等都是由QWidget派生得到&#xff0c;QWidget拥有的方法往往都可以在其他子类中使用。 窗体的几何尺寸分为包…