当前位置: 首页 > news >正文

Linux 基础操作:vim 编辑器、网络配置与远程登录全解析

一、引言

在 Linux 系统的使用过程中,熟练掌握基础操作至关重要。本文将详细介绍 Linux 中的 vim 编辑器、网络配置以及远程登录的相关知识,帮助大家更好地使用 Linux 系统。

二、vi 和 vim 编辑器

2.1 vi 和 vim 的基本介绍

所有 Linux 系统都会内置 vi 文本编辑器,而 vim 是 vi 的升级版,它可以主动以字体颜色分辨语法的正确性,还具备代码补完、编译和错误跳转等功能。

2.2 vi 和 vim 的三种模式

vi/vim 共分为三种模式,分别是命令模式(Command mode)、输入模式(Insert mode)和底线命令模式(Last line mode)。

  • 正常模式

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

以下是常用的几个命令:

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。
  • 插入 / 编辑模式
  • 在命令模式下按下i就进入了输入模式。

    在输入模式中,可以使用以下按键:

    • 字符按键以及Shift组合,输入字符
    • ENTER,回车键,换行
    • BACK SPACE,退格键,删除光标前一个字符
    • DEL,删除键,删除光标后一个字符
    • 方向键,在文本中移动光标
    • HOME/END,移动光标到行首/行尾
    • Page Up/Page Down,上/下翻页
    • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
    • ESC,退出输入模式,切换到命令模式
  • 命令行模式
  • 在命令模式下按下:(英文冒号)就进入了底线命令模式。

    底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

    在底线命令模式中,基本的命令有(已经省略了冒号):

    • q 退出程序
    • w 保存文件

    按ESC键可随时退出底线命令模式。

  • 三种模式转换示意图:三种模式之间的转换关系可以通过示意图清晰地展示出来。

2.3 vi/vim 使用实例

下面以创建一个名为runoob.txt的文件为例,介绍 vi/vim 的使用步骤:

  1. 进入一般模式:输入vim runoob.txt即可进入 vi 的一般模式。
  2. 进入输入模式:在一般模式中按下i,进入输入模式,开始编辑文字。
  3. 回到一般模式:编辑完毕后,按下ESC按钮回到一般模式。
  4. 保存并离开:在一般模式中按下:wq储存后离开 vi。

2.4 Vim 按键说明

Vim 有非常多的按键可以使用,下面分别介绍一般模式下的光标移动、搜索替换、复制粘贴等操作的按键:

  • 光标移动:如h(向左移动)、j(向下移动)、k(向上移动)、l(向右移动)等。
  • 搜索替换/word(向光标之下寻找一个名称为 word 的字符串)、:s/a1/a2/g(将当前光标所在行中的所有 a1 用 a2 替换)等。
  • 复制粘贴y(复制已选中的文本到剪贴板)、p(将剪贴板中的内容粘贴到光标后)等。
  • 删除文本x(删除光标所在位置的字符)、dd(删除光标所在行)等。

2.5 总结 Vim 的常见指令

这里总结了一些必须掌握的 Vim 指令,包括复制、粘贴、删除、撤销、查找等操作,以及插入命令、游标移动、撤销和重做、退出命令等。

  1. yy:复制光标当前一行
  2. 5yy:拷贝当前5行
  3. p:箭头移动到目的行粘贴
  4. u:撤销上一步
  5. dd:删除当前行
  6. 5dd:删除当前行向下的5行
  7. x:剪切一个字母,相当于del
  8. X:剪切一个字母,相当于退格键
  9. yw:复制一个词
  10. dw:删除一个词
  11. 在文件中查找某个单词:命令行输入 /(查找内容),按n查找下一个
  12. 设置文件行号:set nu,取消文件行号:set nonu
  13. 编辑文件,正常模式下使用快捷键到达文档最末行:G,最首行:gg
  14. 编辑文件,光标移动到某行:shift+g
    • 显示行号:set nu
    • 输入行号这个数
    • 输入shift+g
  15. w:向前移动一个单词(光标停在单词首部)
  16. b:向后移动一个单词 2b 向后移动2个单词

三、网络配置

3.1 三种网络模式详解

vmware 为我们提供了三种网络工作模式,分别是 Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。

  • Bridged(桥接模式):将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信,虚拟机 ip 地址需要与主机在同一个网段,如果需要联网,则网关 DNS 需要与主机网卡一致。
  • NAT(地址转换模式):借助虚拟 NAT 设备和虚拟 DHCP 服务器,使得虚拟机可以联网。虚拟网卡 VMware Network Adapter VMnet8 主要用于实现主机与虚拟机之间的通信。
  • Host-Only(仅主机模式):将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。可以将主机网卡共享给 VMware Network Adapter VMnet1 网卡,从而达到虚拟机联网的目的。

3.2 查看网络 IP 和 网关

可以通过查看虚拟网络编辑器、修改虚拟网卡 Ip、查看网关以及查看 windows 环境的中 VMnet8 网络配置等步骤来获取网络 IP 和网关信息。

3.3 配置网络 ip 地址

配置网络 ip 地址有自动抓取和指定 ip 地址两种方式。

  • 自动抓取:每次自动获取的 ip 地址可能不一样,不适用于做服务器。
  • 指定 ip 地址:通过修改配置文件来指定 IP,并可以连接到外网。编辑vim /etc/sysconfig/network-scripts/ifcfg-ens160文件,设置相关参数,然后重启网络服务。

3.4 修改 IP 地址后可能会遇到的问题

修改 IP 地址后可能会遇到一些问题,如物理机能 ping 通虚拟机,但虚拟机 ping 不通物理机,一般是因为物理机的防火墙问题;虚拟机能 Ping 通物理机,但虚拟机 Ping 不通外网,一般是因为 DNS 的设置有问题等。针对这些问题,文中也给出了相应的解决方法。

3.5 配置主机名

可以通过编辑vim /etc/hostname文件来修改主机名称,修改完成后重启生效。也可以通过hostnamectl set-hostname dselegent-study【要修改的主机名】命令立即生效。同时,还需要修改 Linux 和 Windows 的主机映射文件(hosts 文件),以便通过主机名来访问虚拟机。

四、远程登录

4.1 远程登录方法

在工作过程中,通常需要通过远程登录的方式来操作服务器。目前,比较主流的远程登录工具有 Xshell、SSH Secure Shell、SecureCRT、FinalShell 等。以下以 Xshell5 为例,介绍远程登录的步骤:

  1. 配置 Xshell 终端:打开安装好的 Xshell,编辑新链接,测试链接,连接成功后即可进行操作。
  2. 断开连接:操作完成后,可以断开连接。
  3. 添加右键点击粘贴和选中复制:通过工具 -> 选项进行设置。

4.2 ftp 文件传输

Xftp 主要用于向服务上传或下载文件。配置 Xftp 的步骤如下:

  1. 创建新链接:打开 Xftp,创建新链接。
  2. 编辑新链接:设置相关参数,出现链接成功界面后,即可进行 windows 和 linux 系统互传数据。
  3. 解决乱码问题:如果右边出现乱码,可以使用文件-当前会话属性--选项--编码:UTF-8进行修改,修改后重启 Xftp。

五、总结

通过本文的介绍,我们详细了解了 Linux 中的 vim 编辑器、网络配置以及远程登录的相关知识。熟练掌握这些基础操作,将有助于我们更好地使用 Linux 系统,提高工作效率。

http://www.lryc.cn/news/587543.html

相关文章:

  • 算法-线性枚举
  • 【算法】贪心算法:摆动序列C++
  • 解决Qt中“known incorrect sRGB profile“警告的Photoshop修改方法
  • 【记录】BLE|百度的旧蓝牙随身音箱手机能配对不能连接、电脑能连接不能使用的解决思路(Wireshark捕获并分析手机蓝牙报文)
  • 一文读懂循环神经网络(RNN)—语言模型+n元语法(1)
  • Knife4j快速入门
  • 基于微信小程序的财务管理系统的设计与实现;账本管理系统的设计与实现
  • 云手机常见问题解析:解决延迟、掉线等困扰
  • Lovable - AI 驱动的全栈应用开发平台
  • 4G模块 A7670发送英文短信到手机
  • django parler 使用教程
  • Foundry 私钥管理指南:方法与安全最佳实践
  • es的自定义词典和停用词
  • aspnetcore Mvc配置选项中的ModelMetadataDetailsProviders
  • 幻想读 通过多版本并发控制(MVCC)和间隙锁(Gap Lock)的组合也能防止幻读具体说下
  • 基于R语言的极值统计学及其在相关领域中的实践技术应用
  • Linux RDMA Maillist patchsets (Jul. 7 - Jul. 13, 2025)
  • 【LeetCode240.搜索二维矩阵Ⅱ】以及变式
  • 传统机器学习在信用卡交易预测中的卓越表现:从R²=-0.0075到1.0000的华丽转身
  • 【Hadoop科普篇】大数据怎么处理?Hadoop是什么?跟HDFS, Spark, Flink, Hive, Hbase是什么关系?
  • React Three Fiber 实现 3D 模型视图切换、显隐边框、显隐坐标轴
  • JavaScript 性能优化实战:深入性能瓶颈,精炼优化技巧与最佳实践
  • 如何彻底解决PLM/ERP/MES等系统访问速度慢问题?
  • ThinkPHP 8 在 Apache 下启用伪静态
  • .NET 9 GUID v7 vs v4:时间有序性如何颠覆数据库索引性能
  • 【python实用小脚本-139】Python 在线图片批量下载器:requests+PIL 一键保存网络图像
  • Docker 拉取镜像并离线迁移至云桌面指南(以Redis为例)
  • 2025 春秋杯夏季个人挑战赛 Web
  • Spark SQL 之 UT
  • 实战:如何创建 AWS RDS 数据库