Linux(bash/sh)终端常用快捷键(大多数 Linux 发行版默认的 Bash、Zsh、Fish 等 shell 都支持),其中包括您提到的“跳到行首/行尾”以及其它常用的编辑/导航/历史操作。

快捷键 作用 备注
Ctrl +A 光标移动到 行首 等价于 Home
Ctrl + E 光标移动到 行尾 等价于 End
Ctrl +B 向左移动一个字符 等价于 ←
Ctrl + F 向右移动一个字符 等价于 →
Alt + B 向左跳一个单词
Alt + F 向右跳一个单词
Ctrl + U 删除光标左侧(从行首到光标)并复制到剪贴板 类似 Ctrl+K 的反向版
Ctrl + K 删除光标右侧(从光标到行尾)并复制到剪贴板
Ctrl + W 删除光标左侧的 一个单词(同 Alt+Backspace
Alt + D 删除光标右侧的 一个单词
Ctrl + Y 粘贴最近一次被 Ctrl+UCtrl+KCtrl+W 删除的内容 “yank”
Ctrl + L 清屏(等价于 clear 会把当前命令行重新绘制在顶部
Ctrl + C 发送 SIGINT,中断当前正在运行的程序。如果在编辑命令时使用,则会 清空当前行
Ctrl + D 当行为空时发送 EOF,退出终端(相当于 exit)。在行中使用时会删除光标所在的字符(等价于 Del)。
Ctrl + Z 将前台进程 挂起(置于后台)并返回到 shell,随后可用 fgbg 恢复。
Ctrl + R 历史搜索(倒序增量搜索)。输入关键字后会实时匹配历史命令,Enter 执行,Ctrl + C 取消。
Ctrl + G 退出 Ctrl+R/Ctrl+S 搜索模式。
Ctrl + S 前向增量搜索(同 Ctrl+R,但向前查找),在某些终端需要先 stty -ixon 开启。
Ctrl + P 调出 上一条历史命令(等价于 ↑)
Ctrl + N 调出 下一条历史命令(等价于 ↓)
Alt + . 插入 上一次命令的最后一个参数(循环使用可遍历更早的参数)。
Ctrl + X Ctrl + E $EDITOR(默认 vi/nano)中 打开当前命令行编辑,编辑完保存退出后继续执行。
Ctrl + X Ctrl + U 撤销(Undo)上一次的编辑操作(GNU Readline 支持的撤销)。
Ctrl + X Ctrl + L 重新 刷新/重新绘制 当前行(对乱码有时有帮助)。
Ctrl + T 交换光标左侧的两个字符(拼写错误快速纠正)。
Alt + U 将光标所在单词 转为大写(大写化)。
Alt + L 将光标所在单词 转为小写
Alt + C 将光标所在单词 首字母大写(Capitalize)。
Ctrl + X Ctrl + K 剪切 当前行到剪贴板(类似 Ctrl+U,但不删除行首到光标,只剪切整行)。
Ctrl + X Ctrl + R 粘贴 上一次剪切/复制的内容(类似 Ctrl+Y)。
Ctrl + Q 解除 Ctrl+S 的流控暂停(如果你使用了 Ctrl+S 进行前向搜索)。
**Ctrl + ? (Ctrl + Shift + /) ** 显示帮助(在某些终端会弹出 GNU Readline 的键位帮助)。

说明 & 小技巧

  1. GNU Readline
    Bash、Zsh(使用 bindkey)等 shell 都基于 GNU Readline 库,而上表的大部分快捷键都是 Readline 提供的。可以使用 bind -P(列出所有绑定)或 bind -p(以可编辑形式列出)查看当前的键位映射。

  2. 定制键位
    如果默认键位不符合你的习惯,可以在 ~/.inputrc(Readline 配置文件)里加入类似下面的行:

    # 将 Ctrl+← / Ctrl+→ 设为单词跳转
    "\e[1;5D": backward-word
    "\e[1;5C": forward-word
    # 用 Alt+Backspace 删除一个单词
    "\e\177": backward-kill-word

    重新打开终端或执行 bind -f ~/.inputrc 生效。

  3. 在 Vim/Emacs 编辑模式之间切换
    Bash 默认使用 Emacs 风格键位(上表)。如果你更习惯 Vim,可以执行 set -o vi,随后:

    • Esc 进入普通模式,h/j/k/l 移动光标,b/e 跳单词,0/^ 行首/行尾,dw 删除单词等。
    • ia 等进入插入模式。
  4. Tmux / screen 中的额外快捷键
    若你在 tmux(或 GNU screen)会话里使用终端,还可以使用它们自己的快捷键(默认前缀 Ctrl+B),例如:

    • Ctrl+B [ 进入复制模式,使用 Ctrl+Space 开始选择,Enter 复制,Ctrl+B ] 粘贴。
    • Ctrl+B C/Ctrl+B N/Ctrl+B P 创建/切换窗口等。
  5. 常见误区

    • Ctrl+UCtrl+K 不会永久删除文本,它们会把删除的内容保存到 kill ring,可以用 Ctrl+Y(yank)恢复。
    • Alt 键在某些终端(如 Ubuntu 的 GNOME Terminal)需要打开 “使用 Alt 键作为 Meta 键” 设置,否则会被系统拦截。

快速参考表(仅列出最常用的 10~15 项)

功能
Ctrl+A 跳到行首
Ctrl+E 跳到行尾
Alt+B / Alt+F 按单词左/右跳
Ctrl+U 删除光标左侧(行首→光标)
Ctrl+K 删除光标右侧(光标→行尾)
Ctrl+W 删除光标左侧的一个单词
Ctrl+Y 粘贴(yank)上一次删除的文本
Ctrl+R 逆向搜索历史
Ctrl+L 清屏
Ctrl+C 中断命令 / 清空当前行
Ctrl+Z 挂起进程
Alt+. 插入上条命令的最后一个参数
Ctrl+X Ctrl+E 用默认编辑器打开当前命令行编辑