# Linux 常用快捷键 ### 常用快捷键 ## 常用快捷键 以下是一些在命令行中较为常用的快捷键。 #### Tab 键 命令、文件名等补全。 #### Ctrl + c 取消当前行输入的命令,相当于 Ctrl + Break。 #### Ctrl + z 后端运行。 #### Ctrl + l 清屏,相当于执行 clear 命令。 #### Ctrl + s 暂停当前终端。 #### Ctrl + q 恢复当前终端。 #### Ctrl + a 光标移动到行首(Beginning of line),等同 Home 键。 #### Ctrl + e 光标移动到行尾(End of line),等同 End 键。 #### Alt + f 光标向前(Forward)移动到下一个单词。 #### Alt + b 光标往回(Backward)移动到前一个单词。 #### Ctrl + u 删除光标所在位置左边与行首之间的所有字符。 #### Ctrl + k 删除光标所在位置与行尾之间的所有字符。 #### Ctrl + w 删除光标所在位置前任意个空格及其前的一个单词,或光标所在位置左边至所在单词首的所有字符。 #### Alt + d 删除光标所在位置后任意个空格及其后的一个单词,或光标所在位置至所在单词尾的所有字符。 #### Ctrl + y 复制你上一次删除或剪切的条目。 #### Alt + u 转换光标所在位置后的一个单词为大写,或光标所在单词位置至此单词尾的字母为大写。 #### Alt + l 转换光标所在位置后的一个单词为小写,或光标所在单词位置至此单词尾的字母为小写。 #### Alt + . 在光标处输入最近历史命令的最后一个字符串,如果此命令只有单个字符串,则输入此字符串。可持续使用以持续切换为更前的命令。 #### Ctrl + r 依据用户在:提示符后的输入字符串匹配查找 history 记录中命令条目。 #### Ctrl + g 从历史搜索模式(Ctrl + r)退出。 #### !num 执行 history 记录中第 num 条命令条目,num 正整数时,为正序;负数时,为反序。 #### !string:p 输出最近的以 string 开头的命令条目。等同 !?string?。 #### Bang(!)命令 #### !! 输出并执行最近已执行过的一条命令。 #### !num 执行 history 记录中第 num 条命令条目,num 正整数时,为正序;负数时,为反序。 #### !num:p 输出第 num 条命令条目,不执行。 #### !num:gs/str1/str2/ 将第 num 条命令条目中的 str1 字符串替换为str2,(若不加 g,则仅替换第一个匹配)。 #### !string 输出最近已执行过的以 string 开头的命令条目。等同 !?string?。 #### !?string? 输出最近已执行过的以 string 开头的命令条目。等同 !string。 #### !string:p 输出最近已执行过的以 string 开头的命令条目。 #### ^abc 删除最近已执行过的命令中的 abc 字符串,并执行。 #### \^foo\^bar 将最近已执行过的命令中的 foo 字符串替换为 bar,并执行。 #### !$ 执行最近已执行过的命令中的最后一个参数。 #### !* 执行最近已执行过的命令中的所有参数。 #### !*:p 输出最近已执行过的命令中的所有参数。 ## 移动光标 #### Ctrl + a 光标移动到行首(Ahead of line),即 Home 键。 #### Ctrl + e 光标移动到行尾(End of line),即 End 键。 #### Ctrl + xx 光标在输入的命令行首与行尾切换跳转。 #### Ctrl + f 光标向前(Forward)/右移动一个字符位置。 #### Ctrl + b 光标往回(Backward)/左移动一个字符位置。 #### Alt + f 光标向前(Forward)移动到下一个单词。 #### Alt + b 光标往回(Backward)移动到前一个单词。 ## 编辑命令 #### Tab 键 命令、文件名等补全。 #### Ctrl + d 删除一个字符,即 Delete 键(命令行若无字符,相当于exit,处理多行标准输入时也表示 EOF)。 #### Ctrl + h 退格删除一个字符,即 Backspace 键。 #### Ctrl + u 删除光标所在位置左边与行首之间的所有字符。 #### Ctrl + k 删除光标所在位置与行尾之间的所有字符。 #### Ctrl + w 删除光标所在位置前任意个空格及其前的一个单词,或光标所在位置左边至所在单词首的所有字符。 #### Alt + d 删除光标所在位置后任意个空格及其后的一个单词,或光标所在位置至所在单词尾的所有字符。 #### Ctrl + y 复制你上一次删除或剪切的条目。 #### Ctrl + t 光标处在行尾,则交换前两个字符的位置;否则交换光标处字符与前一字符位置,并且光标向右移动单个字符位置。 #### Alt + t 依据光标所在位置,交换其所处单词和前一个单词的位置;交换其前后两个单词的位置;交换其前最后两个单词的位置(注意空格位置的变化)。 #### Alt + u 转换光标所在位置后的一个单词为大写,或光标所在单词位置至此单词尾的字母为大写。 #### Alt + l 转换光标所在位置后的一个单词为小写,或光标所在单词位置至此单词尾的字母为小写。 #### Alt + . 在光标处输入最近历史命令的最后一个字符串,如果此命令只有单个字符串,则输入此字符串。可持续使用以持续切换为更前的命令。 #### Ctrl + - 依次撤销命令行除添加字符的首次修改及其后的所有修改,否则恢复到空行。等同 Ctrl + x + u。 #### Ctrl + x + u 按住 Ctrl 的同时再先后按 x 和 u,依次撤销命令行除添加字符的首次修改及其后的所有修改,否则恢复到空行。等同 Ctrl + -。 ## 查找历史命令 #### Ctrl + p 调出命令历史中的前一条(Previous)命令,即向上箭头键↑。 #### Ctrl + n 调出命令历史中的下一条(Next)命令,即向下箭头键↓。 #### Ctrl + r 依据用户在:提示符后的输入匹配查找 history 记录中命令条目。 #### Ctrl + g 从历史搜索模式(Ctrl + r)退出。 ## 控制命令 #### Ctrl + c 取消当前行输入的命令,相当于Ctrl + Break。 #### Ctrl + s 暂停当前终端。 #### Ctrl + q 恢复当前终端。 #### Ctrl + z 后端运行。 #### Ctrl + l 清空屏幕并重新显示当前命令行内容。 #### [Ctrl] + [Alt] + [Delete] 关机并重新引导系统。在正常关机步骤不起作用时,可使用此方式。 #### [Ctrl] + [Alt] + [Fn] / [Alt] + [Fn] 切换虚拟终端。默认, [F1]至[F6] 是命令行终端, [F7] 是 X 终端。 #### [Alt] + [Tab] 在图形化桌面环境中切换任务。 #### [Ctrl] + [Alt] + [Backspace] 杀死当前的 X 会话,返回到登录会话。如果正常退出步骤不起作用,你可以使用这种方法。 ## 其它快捷键 #### Esc 键 连续按 3 次显示所有的支持的终端命令。 #### Esc + b 移动到当前单词的开头 #### Esc + f 移动到当前单词的结尾 #### Esc + t 颠倒光标所在处及其相邻单词的位置 #### Esc + d 由光标位置开始,删除单词,直到单词结束,往右侧(还有剪切功能) #### Esc + c 使下一个单词首字母大写, 同时光标前进一个单词, 如光标停留在单词的某个字母上, 如 word 中的 o 字母上, 则 o 字母变大写. 而不是 w #### Esc + u 使下一个单词所有字母变大写, 同时光标前进一个单词, 同上, 如光标在 o 字母上, 则 ord 变大写, w 不变. #### Esc+. 上一个命令的后面的参数 #### Esc + 操作次数 操作动作 指定操作次数,重复执行指定的操作。 ## 参考 [知乎专栏](https://zhuanlan.zhihu.com/p/338681998)