Linux:快捷键
一、Linux终端高效快捷键
基于Bash/Zsh通用,绝大多数SSH终端、桌面终端默认支持;核心围绕「少用方向键,批量操作」提升效率。
1、光标快速移动【必记】
修改长命令、参数改错时,无需逐字移动光标。
| 快捷键 | 功能详解 | 适用场景 |
|---|---|---|
| Ctrl + A | 光标快速跳转到当前命令行行首 | 命令开头参数缺失、需要补全前缀 |
| Ctrl + E | 光标快速跳转到当前命令行行尾 | 命令末尾追加参数、补充命令 |
| Ctrl + F | 光标向右移动一个字符(同右方向键) | 微调单个字符位置 |
| Ctrl + B | 光标向左移动一个字符(同左方向键) | 微调单个字符位置 |
| Alt + F | 向右跳转一个单词 | 快速跳过长参数、长Pod名称 |
| Alt + B | 向左跳转一个单词 | 快速定位到前一个参数 |
| Ctrl + XX | 光标在「当前位置」和「行首」之间快速切换 | 改长命令时来回核对修改 |
⚠️ 踩坑提示:Alt+F / Alt+B 在部分桌面终端(如GNOME Terminal)会触发菜单栏,可改用 Esc+F / Esc+B(按一下Esc松开,再按F/B),远程SSH终端通常可正常使用。
2、命令行快速删除【运维核心必记】
重点适配:K8s长Pod名、长镜像名、长路径删除,全程无需逐字删除。
| 快捷键 | 功能详解 | 实战示例 |
|---|---|---|
| Ctrl + W | 删除光标前一个完整单词(默认按空格/标点分割) | 一键删除整条长Pod名称、长参数,最高频! |
| Ctrl + U | 删除光标左侧所有内容 | 命令前半段输错,一键清空左侧,保留右侧内容 |
| Ctrl + K | 删除光标右侧所有内容 | 命令后半段参数错误,一键清空右侧 |
| Ctrl + X + Backspace | 删除行首到光标全部内容 | 兼容特殊终端环境 |
💡 核心实战技巧
针对 K8s 超长命令:kubectl exec -it livenessprobe-readinessprobe-httpget-598c6f5586-5j5rd -- nginx
光标放在Pod名后方,直接按 Ctrl+W,一键删除整个Pod名称(无空格的长字符串默认算一个单词),效率拉满。
⚠️ 补充说明:Ctrl+U 在不同Shell中行为略有差异:Bash默认删除光标到行首;部分Zsh配置下会删除整行,核心场景都是用于快速清空大部分内容。
3、历史命令操作【效率翻倍】
重复命令不用重敲,快速检索复用。
| 快捷键 | 功能详解 | 运维场景 |
|---|---|---|
| Ctrl + R | 反向搜索历史命令,输入关键字模糊匹配 | 忘记完整kubectl/docker命令,输关键词快速调取 |
| ↑ / ↓ | 逐条切换上一条/下一条历史命令 | 简单重复命令快速切换 |
| Ctrl + O | 重复执行当前匹配到的历史命令 | 批量重复执行操作 |
💡 Ctrl+R 进阶用法
- 搜索后继续按
Ctrl+R:切换上一个匹配结果 - 按
Ctrl+G:取消搜索,回到原本的命令行 - 按方向键 ← / →:选中匹配命令并停留在可编辑状态
补充两个高频历史命令技巧:
!!:直接重复执行上一条命令!$:引用上一条命令的最后一个参数(例:ls /etc/kubernetes/manifests后,执行cd !$直接进入对应目录)
4、终端通用控制【基础必会】
| 快捷键 | 功能详解 |
|---|---|
| Ctrl + C | 强制终止当前运行命令、退出阻塞状态(最常用) |
| Ctrl + L | 一键清屏(等价 clear 命令,无需回车) |
| Ctrl + D | 退出当前终端、退出Shell、断开服务器连接 |
| Ctrl + Z | 将当前前台程序挂起至后台,暂停运行 |
| Tab | 命令/文件/Pod名称自动补全,Linux最强效率神器 |
💡 Ctrl+Z 配套用法:程序挂起后,输入 fg 恢复到前台运行;输入 bg 让程序在后台继续运行;输入 jobs 查看所有后台任务。
5、撤销与粘贴【冷门实用】
| 快捷键 | 功能详解 |
|---|---|
| Ctrl + Y | 粘贴上一次用 Ctrl+W/U/K 删除的内容(基于Shell剪切环) |
| Ctrl + _ | 撤销上一次命令行编辑操作,输错命令一键撤回 |
⚠️ 注意:这里的粘贴是Shell内部的剪切缓冲区,不是系统剪贴板,和Vim、桌面剪贴板不通用。
我已将 dw 与 diw 的区别补充到 Vim 章节的「文本对象删除」模块后,形成「命令介绍 → 核心对比 → 实战示例」的完整逻辑。以下是补充后的完整 Vim 部分内容,可直接替换原有段落:
二、Vim 删除快捷键(分模式)
⚠️ Vim的核心是「模式」,90%的新手问题都是模式错了。默认打开是普通模式,按
i进入插入模式,按Esc回到普通模式。
1、普通模式删除【最常用,必记】
普通模式是Vim的操作中枢,所有删除命令在此生效。
| 快捷键 | 作用 |
|---|---|
x |
删除光标下单个字符 |
X |
删除光标前面一个字符 |
dd |
删除当前整行 |
ndd |
删除n行,例:3dd 删除光标开始往下3行 |
D |
删除光标到行尾(等价 d$) |
d0 |
删除光标到行首 |
dw |
删除光标往后一个单词(到下一个空格/标点) |
dW |
删除一个长单词(仅以空白分隔,忽略标点) |
db |
删除光标前面一个单词 |
d^ |
删除光标到行首第一个非空白字符 |
dG |
删除光标所在行到文件末尾全部内容 |
d1G |
删除文件开头到光标所在行 |
【进阶】文本对象删除(运维改YAML神器)
针对括号、引号、标签内的内容批量删除,改K8s yaml配置效率提升显著:
di":删除光标所在引号内的所有内容(不包含引号本身)di(或di)(两者效果完全一致):删除括号内的内容diw:删除光标所在的整个完整单词dit:删除HTML/XML标签内的内容
💡 实战场景:修改yaml中的镜像名、端口号时,光标移到引号内,按 di" 一键清空原值,直接输入新内容,无需手动选中删除。
📌 dw 与 diw 核心区别对比
很多新手容易混淆这两个删除单词的命令,二者本质是动作指令和文本对象两种完全不同的操作逻辑:
| 对比维度 | dw(删除 + 动作指令) |
diw(删除 + 文本对象) |
|---|---|---|
| 操作范围 | 从光标当前位置删到下一个单词开头,只删光标右侧部分 | 删除光标所在的整个完整单词,无论光标在单词开头/中间/结尾 |
| 光标位置影响 | 影响极大,光标在单词中间只删后半截 | 无影响,只要光标在单词内就删整个词 |
| 空格处理 | 会顺带删除单词后面的空格 | 只删单词本身,严格保留前后空格/缩进 |
| 对标点处理 | 遇到标点(:、-、/等)就停止 |
把标点视为单词边界,只删字母/数字/下划线组成的单词主体 |
直观示例
原文本:hello world,光标停在 hello 的第二个字母 e 上(h|ello world)
- 执行
dw:删掉ello+ 后续空格 → 结果:hworld - 执行
diw:删掉整个hello,保留空格 → 结果:world
📌 di((删内部)vs da((删整体)
| 命令 | 全称 | 操作范围 | 原文本:(abc def) | 执行结果 |
|---|---|---|---|---|
| di( | delete inner ( | 只删括号里面的内容,严格保留括号本身 | 光标在括号内 | () |
| da( | delete a ( | 连括号带内容一起删掉,顺带吃掉括号前后一个空格 | 光标在括号内 | 整段括号连带空格消失 |
运维实战场景(YAML配置修改)
原文:
image: registry.cn-hangzhou.aliyuncs.com/k8s/apps:v1
光标落在 v1 中间:
- 用
dw:只能删掉1,剩下v,还需手动清理 - 用
diw:直接删掉整个版本号v1,冒号和路径完整保留,直接输入v2即可,不破坏缩进排版
💡 补充:如果想连单词+后面空格一起删掉,可使用
daw(delete a word),相当于删除一整个单词单位;diw侧重删除单词内部内容,保留周边格式。
2、可视模式(选中后删除)
先选中再删除,适合不规则范围的内容。
v字符可视:移动光标选中内容,按d删除选中部分V行可视:按行选中,d删除选中行Ctrl+v块可视:矩形块选中,d删除块区域
💡 补充技巧:选中后按 c 可以删除并直接进入插入模式,删完立刻修改,更顺手。
3、删除与剪切的区别
Vim 中 d 系列操作本质是剪切,删除的内容会存入无名寄存器,可以用 p 粘贴。
- 如果想彻底删除、不占用剪贴板,可以使用黑洞寄存器:
"_dd(删除整行且不保存) - 适合大文件批量删除时,不覆盖之前复制的内容。
4、插入模式删除(不用切回普通模式)
插入模式下可直接使用的删除快捷键,和终端行为一致。
| 快捷键 | 作用 |
|---|---|
Backspace |
删除光标前字符 |
Delete |
删除光标后字符 |
Ctrl+w |
删除光标前一个单词 |
Ctrl+u |
删除当前行光标前面所有内容 |
⚠️ 避坑重点:
- 插入模式下
Ctrl+W是删单词; - 普通模式下
Ctrl+W是窗口分屏操作(切换、关闭分屏),两者功能完全不同,不要混淆。
5、命令模式批量删除
在普通模式按 : 进入命令模式,适合全局批量处理。
:1,$d:删除全部文件内容(第1行到最后一行):.,$d:删除当前行到文件末尾:1,10d:删除第1~10行:g/xxx/d:删除所有匹配xxx的行,例::g/#/d删除所有注释行:g/^\s*$/d:删除所有空行(整理yaml、配置文件超好用)
快速记忆口诀
x删字符,dd删行;D删到行尾,dw删单词;带i删内不带删全,d开头都是删,p粘贴u撤销
三、避坑指南:同名快捷键功能对比
终端和Vim中有很多同名快捷键,模式不同功能完全不同,新手最容易踩坑:
| 快捷键 | Linux终端 | Vim普通模式 | Vim插入模式 |
|---|---|---|---|
| Ctrl+W | 删除光标前一个单词 | 窗口分屏操作 | 删除光标前一个单词 |
| Ctrl+U | 删除光标左侧所有内容 | 向上翻半页 | 删除光标到行首 |
| Ctrl+C | 终止当前命令 | 回到普通模式(和Esc类似) | 无特殊作用 |
| Ctrl+H | 退格删除前一个字符 | 左移一个字符 | 退格删除 |

浙公网安备 33010602011771号