Linux加强篇-Vim编辑器

news/2024/5/19 13:45:07

目录

⛳️推荐

Vim文本编辑器

编写简单文档

配置主机名称

配置网卡信息

配置软件仓库


⛳️推荐

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

Vim文本编辑器

在Linux系统中一切都是文件,而配置一个服务就是在修改其配置文件的参数,Vim编辑器中设置了3种模式—命令模式、末行模式和编辑模式,每种模式分别又支持多种不同的命令快捷键。

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

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

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

image

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

命令模式中最常用命令

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

末行模式主要用于保存或退出文件,以及设置Vim编辑器的工作环境,还可以让用户执行外部的Linux命令或跳转到所编写文档的特定行数。要想切换到末行模式,在命令模式中输入冒号

 末行模式中最常用命令

命令作用
: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.txt

打开文档后,默认进入的是Vim编辑器的命令模式。

image.png

使用a、i、o三个键从命令模式切换到输入模式,a键与i键分别是在光标后面一位和光标当前位置切换到输入模式,而o键则是在光标的下面再创建一个空行。

image.png

在编写完之后,要想保存并退出,必须先敲击键盘的Esc键从输入模式返回命令模式,然后再输入“:wq!”切换到末行模式才能完成保存退出操作。

image.png

配置主机名称

在Linux系统中,主机名大多保存在/etc/hostname文件中,将文件内容改为“weihongbin”

第1步:使用Vim编辑器修改/etc/hostname主机名称文件。

第2步:把原始主机名称删除后追加“weihongbin”。注意,使用Vim编辑器修改主机名称文件后,要在末行模式下执行“:wq!”命令才能保存并退出文档。

第3步:保存并退出文档,然后使用hostname命令检查是否修改成功。

[root@localhost ~]# vim /etc/hostname

image.png

[root@localhost ~]# systemctl restart systemd-hostnamed

[root@localhost ~]# hostname

weihongbin

配置网卡信息

名称为ifcfg-ens160的网卡设备,将其配置为开机自启动,并且IP地址、子网、网关等信息由人工指定(动态网卡转为静态网卡)。

第1步:首先切换到/etc/sysconfig/network-scripts目录中(存放着网卡的配置文件)。

第2步:使用Vim编辑器修改网卡文件ifcfg-ens160,逐项写入下面的配置参数并保存退出。由于每台设备的硬件及架构是不一样的,因此请读者使用ifconfig命令自行确认各自网卡的默认名称。

踩坑大集锦

提前先查一下自己的虚拟网络是什么网关,不要跟我写的一样导致ping: www.baidu.com: Name or service not known连不上网,选择虚拟网络编辑器

image.png

进入虚拟网络编辑器,取消DHCP,同时选择NAT设置,将网关改成192.168.227.2

image.png

image.png

修改vm8的网关,搜索控制面板\网络和 Internet\网络连接,选择vm8,右击属性,选IPV4,属性

image.png

image.png

配置一下IP地址,和默认网关,IP地址选192.168.227.1,默认网关选192.168.227.2,dns首选8.8.8.8

image.png

这时候我们看一下我们的本机主机,通过win+R命令,输入cmd进入命令符,输入ipconfig

image.png

配置完成,然后看一下以下这几个概念

设备类型:TYPE=Ethernet

地址分配模式:BOOTPROTO=static

网卡名称:NAME=ens160

是否启动:ONBOOT=yes

IP地址:IPADDR=192.168.227.10

子网掩码:NETMASK=255.255.255.0

网关地址:GATEWAY=192.168.227.1

DNS地址:DNS1=192.168.227.1

DNS地址:DNS2=8.8.8.8

第3步:重启网络服务并测试网络是否连通。

进入到网卡配置文件所在的目录,然后编辑网卡配置文件,在其中填入下面的信息(红色为修改或添加部分),默认我们的虚拟机是192.168.227.10,你们也可以设置其他的:

[root@localhost ~]# cd /etc/sysconfig/network-scripts/

[root@localhost network-scripts]# vim ifcfg-ens160  

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=static

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

NAME=ens160

UUID=83230184-678e-4b11-b50c-20e37b235a70

DEVICE=ens160

ONBOOT=yes

IPADDR=192.168.227.10

NETMASK=255.255.255.0

GATEWAY=192.168.227.2

DNS1=192.168.227.1

DNS2=8.8.8.8

重启reboot(如果你现在是在用xshell连接建议先断开连接后重新接入新的ip地址再试)

不想重启可以执行:

systemctl restart NetworkManagernmcli connection reload ens160

[root@weihongbin ~]# ping 192.168.227.10

PING 192.168.227.10 (192.168.227.10) 56(84) bytes of data.

64 bytes from 192.168.227.10: icmp_seq=1 ttl=64 time=0.080 ms

64 bytes from 192.168.227.10: icmp_seq=2 ttl=64 time=0.048 ms

[root@localhost network-scripts]# ping www.baidu.com

PING www.a.shifen.com (220.181.38.149) 56(84) bytes of data.

64 bytes from 220.181.38.149 (220.181.38.149): icmp_seq=1 ttl=128 time=5.71 ms

64 bytes from 220.181.38.149 (220.181.38.149): icmp_seq=2 ttl=128 time=5.28 ms

64 bytes from 220.181.38.149 (220.181.38.149): icmp_seq=3 ttl=128 time=5.72 ms

配置软件仓库

软件仓库是一种能进一步简化RPM管理软件的难度以及自动分析所需软件包及其依赖关系的技术,搭建并配置软件仓库的大致步骤如下所示

第1步:进入/etc/yum.repos.d/目录中(因为该目录存放着软件仓库的配置文件,红色为添加字段)。

image.png

第2步:使用Vim编辑器创建一个名为rhel8.repo的新配置文件(文件名称可随意,但后缀必须为.repo),逐项写入下面的配置参数并保存退出。

仓库名称:具有唯一性的标识名称,不应与其他软件仓库发生冲突。

描述信息(name):可以是一些介绍性的词,易于识别软件仓库的用处。

仓库位置(baseurl):软件包的获取方式,可以使用FTP或HTTP下载,也可以是本地的文件(需要在后面添加file参数)。

是否启用(enabled):设置此源是否可用;1为可用,0为禁用。

是否校验(gpgcheck):设置此源是否校验文件;1为校验,0为不校验。

公钥位置(gpgkey):若上面的参数开启了校验功能,则此处为公钥文件位置。若没有开启,则省略不写。

[root@weihongbin yum.repos.d]# vim rhel8.repo

[BaseOS]

name=BaseOS

baseurl=file:///media/cdrom/BaseOS

enabled=1

gpgcheck=0

[AppStream]

name=AppStream

baseurl=file:///media/cdrom/AppStream

enabled=1

gpgcheck=0

第3步:按配置参数中所填写的仓库位置挂载光盘,并把光盘挂载信息写入/etc/fstab文件中(红色添加)。

[root@weihongbin yum.repos.d]# mkdir -p /media/cdrom

[root@weihongbin yum.repos.d]# mount /dev/cdrom /media/cdrom

mount: /media/cdrom: WARNING: device write-protected, mounted read-only.

[root@weihongbin yum.repos.d]# vim /etc/fstab

#  

# /etc/fstab

# Created by anaconda on Mon Nov  6 11:06:38 2023

#

# Accessible filesystems, by reference, are maintained under '/dev/disk/'.

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.

#

# After editing this file, run 'systemctl daemon-reload' to update systemd

# units generated from this file.

#

UUID=147464a6-27ee-477f-8dfd-0c157a0aabc7 /                       xfs     defaults        0 0

UUID=b7107860-5e6f-4ff5-abb3-880ab7e6caca /boot                   xfs     defaults        0 0

UUID=1396ecbf-4d87-4e65-898b-28048721d05e none                    swap    defaults        0 0

/dev/cdrom /media/cdrom iso9660 defaults 0 0

第4步:修改以下配置网址,使用“dnf install httpd -y”命令检查软件仓库是否已经可用。

[root@localhost yum.repos.d]# sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*

[root@localhost yum.repos.d]# sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

[root@localhost yum.repos.d]# yum makecache

[root@localhost ~]# dnf install httpd -y

完成配置仓库,安装源相当于官方应用商店,三方源就相当于官方以外的应用商店。

这里要着重聊一下,通过阿里系的也可以配置仓库:阿里云镜像

##配置Linux软件安装源

curl -s -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

##配置第三方源epel

curl -s -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo


http://www.mrgr.cn/p/71577038

相关文章

数据结构基础第5讲

数据结构基础第5讲 树和二叉树 本章内容:考点一:基本术语 1.数的引入2.树的定义 层次,分支,一对多。互不相交的含义:3.结点的分类结点的度:4.结点的关系树的深度:树中结点最大高度称为树的高度(或树的深度)行兄弟结点:在同一层但不是兄弟的结点路径长度:等于路径所通…

C语言(扫雷游戏)

Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,关注收藏,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记&#x…

R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析|附代码数据

全文链接:http://tecdat.cn/?p=22596 最近我们被客户要求撰写关于预测心脏病的研究报告,包括一些图形和统计输出。 本报告是对心脏研究的机器学习/数据科学调查分析。更具体地说,我们的目标是在心脏研究的数据集上建立一些预测模型,并建立探索性和建模方法。但什么是心脏研…

数据结构基础第3讲

数据结构基础第3讲 栈及其应用 内容考点一:栈的概念 1.顺序栈的定义:出栈顺序情况计算 给定n个元素,出栈顺序的情形满足卡特兰数,计算公式: \[\frac{C_{2n}^{n}}{n+1} \]例题: 确定第一个出栈的谁。有两种可能: 找带头大哥。栈的顺序存储结构 顺序栈操作顺序栈4要素栈空条…

数据结构基础第4讲

数据结构基础第4讲 队列 内容考点一: 队列概念 代码不考 1.队列的定义考点二:顺序队列的定义考点三顺序队列的性质与操作 4要素:考点四:循环队列的定义 由于顺序队列会存在假溢出问题,引入循环队列。 假溢出:描述:考点五:循环队列的操作判断空满:性质: 考频75%元素个…

深入探索GDB:Linux下强大的调试神器

目录 一、GDB简介:源码级调试的基石 二、GDB基础操作:从入门到熟练 启动与基本命令 三、GDB进阶功能:解锁更深层次的调试能力 1. 回溯追踪:洞察调用栈 2. 动态内存检测:揪出内存问题 3. 条件断点与观察点&#…

【视频】N-Gram、逻辑回归反欺诈模型文本分析招聘网站欺诈可视化|附数据代码

原文链接:https://tecdat.cn/?p=36028 原文出处:拓端数据部落公众号 随着互联网的快速发展,招聘网站已成为求职者与雇主之间的重要桥梁。然而,随之而来的欺诈行为也日益猖獗,给求职者带来了极大的困扰和风险。因此,如何帮助客户有效地识别和防范招聘网站上的欺诈行为,已…

02 IO口的操作

目录前言一、IO的概念1.IO接口2.IO端口二、CPU和外设进行数据传输的方法1.程序控制方式1.1 无条件1.2 查询方式2.中断方式3.DMA方式一、方法介绍和代码编写1.前置知识2.程序方式1.1 无条件方式1.1.1 打开对应的GPIO口1.1.2 初始化对应的GPIO引脚1.1.2.1 推挽输出1.1.2.2 开漏输…

vmstat命令详解

一、参数信息 vmstat 命令是用于报告虚拟内存统计信息的工具,常用于 Unix/Linux 系统上。它可以提供关于系统资源使用情况的详细信息,包括 CPU、内存、虚拟内存、磁盘、系统调用等方面的统计数据。以下是常见的 vmstat 命令参数的详解: vms…

题解 UOJ577【[ULR #1] 打击复读】

别学基本子串结构(这篇没写完)题解 UOJ577【[ULR #1] 打击复读 reference https://www.cnblogs.com/crashed/p/17382894.html https://www.cnblogs.com/sizeof127/articles/17579027.html 字符串——黄建恒,广东实验中学 题目描述 为了提升搜索引擎的关键词匹配度以加大访问…

VUE识别图片文字OCR(tesseract.js)

效果:1&#xff1a; 效果图2&#xff1a; 一、安装tesseract.js npm i tesseract.js 二、静态页面实现 <template><div><div style"marginTop:100px"><input change"handleChage" type"file" id"image-input"…

吴恩达机器学习-第二课-第四周

吴恩达机器学习 学习视频参考b站:吴恩达机器学习 本文是参照视频学习的随手笔记,便于后续回顾。 决策树 决策树模型(Decision Tree Model) 猫分类示例通过决策树模型判断是否为猫 一些术语:根结点,决策节点(包括根结点),叶子结点决策树算法是在所有的决策树模型中选一…

【EI会议征稿】2024年先进机械电子、电气工程与自动化国际学术会议(ICAMEEA 2024)

2024 International Conference on Advanced Mechatronic, Electrical Engineering and Automation ●会议简介 2024年先进机械电子、电气工程与自动化国际学术会议&#xff08;ICAMEEA 2024&#xff09;将汇聚全球机械电子、电气工程与自动化领域的专家学者&#xff0c;共同…

【QT进阶】Qt Web混合编程之使用ECharts显示各类折线图等

往期回顾 【QT进阶】Qt Web混合编程之QWebEngineView基本用法-CSDN博客 【QT进阶】Qt Web混合编程之CMake VS2019编译并使用QCefView&#xff08;图文并茂超详细版本&#xff09;-CSDN博客【QT进阶】Qt Web混合编程之html、 js的简单交互-CSDN博客 【QT进阶】Qt Web混合编程之使…

编译用于Qt的opencv问题解决

CMake was unable to find a build program corresponding to "MinGW Makefiles"解释: 这个错误表明CMake无法找到用于生成Makefiles的构建程序。在使用CMake生成项目文件时,如果指定了"MinGW Makefiles",CMake需要一个Make工具来构建项目,而这个工具通…

破解生产瓶颈,提升时效性——蓝鹏测控推进效率革新

在日益激烈的市场竞争中&#xff0c;蓝鹏公司近日宣布采取一系列措施&#xff0c;旨在解决生产过程中的关键短板问题&#xff0c;特别是设计定稿延迟、原料采购不及时等问题&#xff0c;以确保生产部门能够按时完成订单&#xff0c;提高整体运营效率。 蓝鹏公司位于经济发展活…

操作系统八股

操作系统八股 1. 你了解IO多路复用么? 我们熟悉的 select/poll/epoll 内核提供给用户态的多路复用系统调用,进程可以通过一个系统调用函数从内核中获取多个事件。 select/poll/epoll 是如何获取网络事件的呢?在获取事件时,先把所有连接(文件描述符)传给内核,再由内核返回…

chakra-ui学习笔记(一)

前言:发现chakra-ui也不错,虽然比起antd功能稍少一点。1,Stack与Flex区别 Notes on Stack vs Flex#The Stack component and the Flex component have their children spaced out evenly but the key difference is that the Stack wont span the entire width of the conta…

云原生Kubernetes: K8S 1.29版本 部署Jenkins

目录 一、实验 1.环境 2.K8S 1.29版本 部署Jenkins 服务 3.jenkins安装Kubernetes插件 二、问题 1.创建pod失败 2.journalctl如何查看日志信息 2.容器内如何查询jenkins初始密码 3.jenkins离线安装中文包报错 4.jenkins插件报错 一、实验 1.环境 &#xff08;1&…

深度解析 Spring 源码:三级缓存机制探究

文章目录 一、 三级缓存的概述二、 三级缓存的实现原理2.1 创建Bean流程图2.2 getBean()2.3 doGetBean()2.4 createBean()2.5 doCreateBean()2.4 getSingleton() 三、 三级缓存的使用场景与注意事项3.1 在实际开发中如何使用三级缓存3.2 三级缓存可能出现的问题及解决方法 一、…