📚 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 等其他网络服务