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、可视模式(选中后删除)

先选中再删除,适合不规则范围的内容。

  1. v 字符可视:移动光标选中内容,按 d 删除选中部分
  2. V 行可视:按行选中,d 删除选中行
  3. 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 退格删除前一个字符 左移一个字符 退格删除
posted @ 2026-10-09 23:37  kyle_7Qc  阅读(15)  评论(0)    收藏  举报