📚 Linux 网络与 Vim 编辑器操作手册
一、Vim 编辑器
(一)工作模式
Vim 编辑器通过四种工作模式实现高效文本编辑,模式间的灵活切换是使用 Vim 的核心技巧:
| 模式 |
触发方式 |
核心功能 |
| 命令模式 |
启动 Vim 后默认进入 |
光标移动、文本删除 / 复制 / 粘贴、查找替换等基础操作 |
| 编辑模式 |
命令模式下按 i/I/o/O/a/A |
直接输入和修改文本内容 |
| 末行模式 |
命令模式下输入 : |
执行保存、退出、全局设置等高级操作 |
| 可视模式 |
命令模式下按 v/V/ctrl+v |
块级选择文本,方便批量编辑 |
(二)命令模式常用操作
| 命令 / 按键 |
功能描述 |
| G |
跳转至文本最后一行 |
| gg |
跳转至文本第一行 |
| nG/ngg |
跳转至第 n 行(如 10G 跳转到第 10 行) |
| ctrl+f |
向下翻页 |
| ctrl+b |
向上翻页 |
| home/^/0 |
光标移动到当前行首 |
| end/$ |
光标移动到当前行尾 |
| x/del |
删除光标所在字符 |
| dd |
删除光标所在行 |
| ndd |
从光标行开始删除 n 行(如 3dd 删除 3 行) |
| d^ |
删除光标前字符至行首 |
| d$ |
删除光标处字符至行尾 |
| yy |
复制光标所在行 |
| nyy |
从光标行开始复制 n 行(如 5yy 复制 5 行) |
| p |
在光标下行粘贴复制内容 |
| P |
在光标上行粘贴复制内容 |
| /关键词 |
向下查找关键词,n 继续向下,N 向上回溯 |
| :noh(末行模式) |
取消查找高亮 |
| u |
撤销上一步操作 |
(三)模式切换指南
1. 命令模式 → 编辑模式
| 按键 |
进入方式描述 |
| i |
在光标当前位置前插入 |
| I |
跳转至行首并插入 |
| o |
在光标下行新建空白行并插入 |
| O |
在光标上行新建空白行并插入 |
| a |
在光标当前位置后插入 |
| A |
跳转至行尾并插入 |
2. 命令模式 ↔ 末行模式
命令模式输入 : 进入末行模式
末行模式按 esc 返回命令模式
(四)末行模式常用操作
| 命令 |
功能描述 |
| :q |
未修改文件时,退出 Vim |
| :q! |
强制退出,不保存修改内容 |
| :w |
保存当前修改 |
| :w /path/filename |
另存为指定路径文件 |
| :wq/:x |
保存修改并退出 |
| :wq! |
强制保存修改并退出(适用于只读文件) |
| :set nu/:set number |
显示行号 |
| :set nonu |
隐藏行号 |
| :e /path/filename |
打开指定文件(需先保存当前文件) |
| :r /path/filename |
将指定文件内容插入当前光标位置 |
| :%s/旧内容/新内容/g |
全局替换所有匹配的文本(g 表示全局,不加 g 只替换每行第一个匹配项) |
| :n,m s/旧内容/新内容/g |
替换第 n 至 m 行中匹配的文本(如 :1,5s/abc/def/g) |
(五)多文件编辑技巧
| 命令 |
功能描述 |
| vim file1 file2 -o |
水平分屏显示多个文件,ctrl+w+方向键 切换窗口 |
| vim file1 file2 -O |
垂直分屏显示多个文件,ctrl+w+方向键 切换窗口 |
| :tabnew file |
新建标签页打开文件 |
| :tabn/:tabp |
切换到下一个 / 上一个标签页 |
二、Linux 网络操作
(一)图形化网络配置
| 工具 |
操作方式 |
适用场景 |
| 系统设置 |
图形界面 → 网络 → 配置 IP/DNS 等 |
桌面环境下的可视化配置 |
| nmtui |
终端输入 nmtui 启动文本图形界面 |
无桌面环境的交互式配置 |
(二)网卡配置文件解析
配置文件路径:/etc/sysconfig/network-scripts/ifcfg-<网卡名>(如 ifcfg-ens33)
| 配置项 |
取值范围 |
功能描述 |
| TYPE |
Ethernet/WiFi |
网络接口类型(通常为以太网) |
| BOOTPROTO |
dhcp/static/none |
IP 分配方式:动态获取 / 静态配置 / 不使用协议 |
| NAME |
自定义名称 |
NetworkManager 识别的连接名 |
| DEVICE |
网卡名(如 ens33) |
绑定的物理设备名 |
| ONBOOT |
yes/no |
是否开机自动激活该连接 |
| IPADDR |
IPv4 地址(如 192.168.1.100) |
静态 IP 地址(BOOTPROTO=static 时生效) |
| PREFIX/NETMASK |
24/255.255.255.0 |
子网掩码,PREFIX=24 等价于 NETMASK=255.255.255.0 |
| GATEWAY |
网关 IP(如 192.168.1.1) |
跨网段通信的出口地址 |
| DNS1/DNS2 |
DNS 服务器 IP(如 8.8.8.8) |
域名解析服务器,DNS1 为主,DNS2 为备用 |
| IPV6INIT |
yes/no |
是否启用 IPv6 协议 |
| HWADDR/MACADDR |
MAC 地址(如 00:11:22:33:44:55) |
网卡物理地址,通常自动生成,克隆虚拟机时需手动修改防冲突 |
| USERCTL |
yes/no |
是否允许普通用户控制该网卡(默认 no,仅 root 可操作) |
| ZONE |
防火墙区域(如 public/internal) |
绑定防火墙规则集,需配合 firewalld 使用 |
(三)网络服务管理
| 命令 |
功能描述 |
| systemctl restart network |
重启传统网络服务(影响所有网卡) |
| systemctl restart NetworkManager |
重启 NetworkManager 服务(推荐) |
| nmcli connection up <连接名> |
激活指定网络连接(如 nmcli connection up ens33) |
| nmcli connection down <连接名> |
禁用指定网络连接 |
(四)网卡创建与配置(虚拟机场景)
- 添加虚拟网卡
虚拟机软件中:设置 → 添加 → 网络适配器 → 选择网络模式(如仅主机/桥接)→ 确定
- 创建网络连接
nmcli connection add con-name <连接名> ifname <网卡名> type ethernet# 示例:nmcli connection add con-name ens36 ifname ens36 type ethernet
- 配置静态 IP
nmcli connection modify <连接名> \ ipv4.addresses <IP地址>/<掩码> \ ipv4.gateway <网关IP> \ ipv4.dns <DNS服务器> \ ipv4.method manual \ connection.autoconnect yes# 示例:nmcli connection modify ens36 \ ipv4.addresses 192.168.200.10/24 \ ipv4.gateway 192.168.200.254 \ ipv4.dns 114.114.114.114 \ ipv4.method manual \ connection.autoconnect yes
- 激活配置
nmcli connection up ens36
(五)IP 转发与静态路由
1. IP 转发配置(实现路由器功能)
# 临时开启 IPv4 转发echo 1 > /proc/sys/net/ipv4/ip_forward# 永久生效(重启后有效)echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.confsysctl -p # 立即加载配置
2. 静态路由配置
| 路由类型 |
添加命令示例 |
删除命令示例 |
| 主机路由 |
route add -host 172.16.40.10 gw 172.16.30.254 dev ens160 |
route del -host 172.16.40.10 gw 172.16.30.254 dev ens160 |
| 网络路由(带网关) |
route add -net 172.16.30.0 netmask 255.255.255.0 gw 172.16.20.1 dev ens160 |
route del -net 172.16.30.0 netmask 255.255.255.0 gw 172.16.20.1 dev ens160 |
| 网络路由(直连) |
route add -net 172.16.30.0 netmask 255.255.255.0 dev ens160 |
route del -net 172.16.30.0 netmask 255.255.255.0 dev ens160 |
(六)禁 Ping 配置
# 临时禁 Pingecho 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all# 永久禁 Ping(重启后有效)echo "net.ipv4.icmp_echo_ignore_all = 1" >> /etc/sysctl.confsysctl -p # 立即生效
说明:禁 Ping 仅阻止 ICMP 回声请求,不影响 SSH、HTTP 等其他网络服务