大家好,我是程序员柏风,AI 最全的 Vibecoding 学习地图 http://coderoadmap.cn 作者。
运维编辑器:Vim 与 Nano
改 Nginx 配置、Postfix main.cf、crontab、脚本——运维每天要在 SSH 会话里 直接改服务器文件。linux-essentials 讲过基础编辑;本课聚焦 Vim 高效模式与 Nano 快速上手,让你在无 GUI 的服务器上流畅作业。网络排障见 networking-essentials,配置版本化见 git-essentials,域名与 MX 记录见 dns-essentials,远程登录见 dnm-ssh。
学习目标
- 用 Nano 完成简单配置修改(新手友好)
- 掌握 Vim 模式切换、保存退出、搜索替换 核心操作
- 配置
.vimrc基础选项(行号、语法高亮、缩进)
Nano:五分钟上手
nano /etc/nginx/sites-available/default
| 快捷键 | 作用 |
|---|---|
Ctrl+O | 保存 (Write Out) |
Ctrl+X | 退出 |
Ctrl+W | 搜索 |
Ctrl+K | 剪切行 |
Ctrl+U | 粘贴 |
底部菜单即说明书——临时改配置、教新人首选 Nano。
Vim 模式概念
普通模式 (Normal) ← 默认,按 dd 删行、yy 复制
插入模式 (Insert) ← 按 i/a/o 进入,像普通编辑器
命令模式 (Command) ← 按 : 进入,:wq 保存退出
vim /etc/postfix/main.cf
# 普通模式: /relayhost 搜索
# 按 i 进入插入模式修改
# 按 Esc 回普通模式
# 输入 :wq 保存退出
# 输入 :q! 不保存强制退出
Vim 必备命令
| 命令 | 作用 |
|---|---|
i | 光标前插入 |
o | 下方新开行 |
dd | 删除当前行 |
yy | 复制当前行 |
p | 粘贴 |
u | 撤销 |
/keyword | 向下搜索 |
:%s/old/new/g | 全文替换 |
:set number | 显示行号 |
:行号 | 跳到指定行 |
# 编辑 nginx 配置常见流程
vim /etc/nginx/nginx.conf
# :set number
# /listen 80
# 修改后 :wq
sudo nginx -t && sudo systemctl reload nginx
~/.vimrc 推荐配置
set number
set relativenumber
set tabstop=2
set shiftwidth=2
set expandtab
set autoindent
syntax on
set hlsearch
set incsearch
colorscheme desert
# 写入配置
cat >> ~/.vimrc << 'EOF'
set number
set expandtab
set tabstop=2
set shiftwidth=2
syntax on
EOF
可将 dotfiles 纳入 git-essentials 仓库同步到多台服务器。
运维场景对照
| 场景 | 推荐 | 原因 |
|---|---|---|
| 改一行 Postfix 参数 | Nano | 快、不易误操作 |
| 批量改 20 处 Nginx location | Vim + %s | 正则替换高效 |
| 查看大日志(只读) | less / vim -R | 不意外修改 |
| 远程 SSH 默认 EDITOR | export EDITOR=vim | crontab -e、visudo 会用 |
# visudo 必须用 visudo,它会用 $EDITOR 打开并校验语法
sudo visudo
# crontab
crontab -e # 使用 $EDITOR
安全习惯
- 改配置前 备份:
sudo cp main.cf main.cf.bak.$(date +%F) - 改完 语法检查:
nginx -t、sshd -t、postfix check - 保留 第二个 SSH 会话,防止改错 sshd_config 锁死自己
练习
- 用 Nano 创建并编辑
~/test.conf,保存后cat验证 - 用 Vim 打开
/etc/hosts,搜索localhost,:wq保存(若无改动则:q) - 配置
~/.vimrc开启行号与语法高亮,截图或描述效果
小结
Nano 求快,Vim 求效——运维两者都要会。 改生产配置务必备份 + 语法检查 + 保留备用 SSH。下一课讲 Git 版本控制。