有用的 Bash 快捷键清单
现如今,我在终端上花的时间更多,尝试在命令行完成比在图形界面更多的工作。随着时间推移,我学了许多 BASH 的技巧。这是一份每个 Linux 用户都应该知道的 BASH 快捷键,这样在终端做事就会快很多。我不会说这是一份完全的 BASH 快捷键清单,但是这足够让你的 BASH shell 操作比以前更快了。学习更快地使用 BASH 不仅节省了更多时间,也让你因为学到了有用的知识而感到自豪。那么,让我们开始吧。
ALT 快捷键
ALT+A– 光标移动到行首。ALT+B– 光标移动到所在单词词首。ALT+C– 终止正在运行的命令/进程。与CTRL+C相同。ALT+D– 关闭空的终端(也就是它会关闭没有输入的终端)。也删除光标后的全部字符。ALT+F– 移动到光标所在单词词末。ALT+T– 交换最后两个单词。ALT+U– 将单词内光标后的字母转为大写。ALT+L– 将单词内光标后的字母转为小写。ALT+R– 撤销对从历史记录中带来的命令的修改。正如你在上面输出所见,我使用反向搜索拉取了一个指令,并更改了那个指令的最后一个字母,并使用
ALT+R撤销了更改。ALT+.(注意末尾的点号) – 使用上一条命令的最后一个单词。
如果你想要对多个命令进行相同的操作的话,你可以使用这个快捷键来获取前几个指令的最后一个单词。例如,我需要使用 ls -r 命令输出以文件名逆序排列的目录内容。同时,我也想使用 uname -r 命令来查看我的内核版本。在这两个命令中,相同的单词是 -r 。这就是需要 ALT+. 的地方。快捷键很顺手。首先运行 ls -r 来按文件名逆序输出,然后在其他命令,比如 uname 中使用最后一个单词 -r 。
CTRL 快捷键
CTRL+A– 快速移动到行首。我们假设你输入了像下面这样的命令。当你在第 N 行时,你发现在行首字符有一个输入错误
CTRL+B– 光标向前移动一个字符。$ gind . -mtime -1 -type
注意到了吗?上面的命令中我输入了
gind而不是find。你可以通过一直按着左箭头键定位到第一个字母然后用g替换f。或者,仅通过CTRL+A或HOME键来立刻定位到行首,并替换拼错的单词。这将节省你几秒钟的时间。这个快捷键可以使光标向前移动一个字符,即光标前的一个字符。或者,你可以使用左箭头键来向前移动一个字符。
CTRL+C– 停止当前运行的命令。如果一个命令运行时间过久,或者你误运行了,你可以通过使用
CTRL+C来强制停止或退出。CTRL+D– 删除光标后的一个字符。如果你的系统退格键无法工作的话,你可以使用
CTRL+D来删除光标后的一个字符。这个快捷键也可以让你退出当前会话,和 exit 类似。CTRL+E– 移动到行末。当你修正了行首拼写错误的单词,按下
CTRL+E来快速移动到行末。或者,你也可以使用你键盘上的END键。CTRL+F– 光标向后移动一个字符。如果你想将光标向后移动一个字符的话,按
CTRL+F来替代右箭头键。CTRL+G– 退出历史搜索模式,不运行命令。正如你在上面的截图看到的,我进行了反向搜索,但是我执行命令,并退出了历史搜索模式。
CTRL+H– 删除光标前的一个字符,和退格键相同。CTRL+J– 和 ENTER/RETURN 键相同。回车键不工作?没问题!
CTRL+J或CTRL+M可以用来替换回车键。CTRL+K– 删除光标后的所有字符。你不必一直按着删除键来删除光标后的字符。只要按
CTRL+K就能删除光标后的所有字符。CTRL+L– 清空屏幕并重新显示当前行。别输入
clear来清空屏幕了。只需按CTRL+L即可清空并重新显示当前行。CTRL+M– 和CTRL+J或 RETURN键相同。CTRL+N– 在命令历史中显示下一行。你也可以使用下箭头键。
CTRL+O– 运行你使用反向搜索时发现的命令,即 CTRL+R。CTRL+P– 显示命令历史的上一条命令。你也可以使用上箭头键。
CTRL+R– 向后搜索历史记录(反向搜索)。CTRL+S– 向前搜索历史记录。CTRL+T– 交换最后两个字符。这是我最喜欢的一个快捷键。假设你输入了
sl而不是ls。没问题!这个快捷键会像下面这张截图一样交换字符。
CTRL+U– 删除光标前的所有字符(从光标后的点删除到行首)。这个快捷键立刻删除前面的所有字符。
CTRL+V– 逐字显示输入的下一个字符。CTRL+W– 删除光标前的一个单词。不要和 CTRL+U 弄混了。CTRL+W 不会删除光标前的所有东西,而是只删除一个单词。

CTRL+X– 列出当前单词可能的文件名补全。CTRL+XX– 移动到行首位置(再移动回来)。CTRL+Y– 恢复你上一个删除或剪切的条目。记得吗,我们在第 21 个命令用
CTRL+W删除了单词“-al”。你可以使用CTRL+Y立刻恢复。
看见了吧?我没有输入“-al”。取而代之,我按了
CTRL+Y来恢复它。CTRL+Z– 停止当前的命令。你也许很了解这个快捷键。它终止了当前运行的命令。你可以在前台使用
fg或在后台使用bg来恢复它。CTRL+[– 和ESC键等同。
杂项
!!– 重复上一个命令。ESC+t– 交换最后两个单词。
这就是我所能想到的了。将来我遇到 Bash 快捷键时我会持续添加的。如果你觉得文章有错的话,请在下方的评论区留言。我会尽快更新。
Cheers!
via: https://www.ostechnix.com/list-useful-bash-keyboard-shortcuts/
有用的 Bash 快捷键清单的更多相关文章
- bash快捷键
https://linuxtoy.org/archives/bash-shortcuts.html 编辑命令 Ctrl + a :移到命令行首 Ctrl + e :移到命令行尾 Ctrl + f :按 ...
- [转]bash快捷键
生活在 Bash shell 中,熟记以下快捷键,将极大的提高你的命令行操作效率. 编辑命令 Ctrl + a :移到命令行首 Ctrl + e :移到命令行尾 Ctrl + f :按字符前移(右向) ...
- linux bash快捷键
bash快捷键 CTRL+F 光标向前移动一个字母 CTRL+B 光标向后移动一个字母 CTRL+A HOME CTRL+E END
- [转]让你提升命令行效率的 Bash 快捷键
生活在 Bash shell 中,熟记以下快捷键,将极大的提高你的命令行操作效率. 编辑命令 Ctrl + a :移到命令行首 Ctrl + e :移到命令行尾 Ctrl + f :按字符前移(右向) ...
- 让你提升命令行效率的 Bash 快捷键
生活在 Bash shell 中,熟记以下快捷键,将极大的提高你的命令行操作效率. 编辑命令 Ctrl + a :移到命令行首 Ctrl + e :移到命令行尾 Ctrl + f :按字符前移(右向) ...
- 显示“快捷键清单” acessksy
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 让你提升命令行效率的 Bash 快捷键 [完整版]
转自:http://linuxtoy.org/archives/bash-shortcuts.html 生活在 Bash shell 中,熟记以下快捷键,将极大的提高你的命令行操作效率. 大部分对其他 ...
- Bash 快捷键[转]
编辑命令 Ctrl + a :移到命令行首 Ctrl + e :移到命令行尾 Ctrl + f :按字符前移(右向) Ctrl + b :按字符后移(左向) Alt + f :按单词前移(右向) Al ...
- (转)Bash 快捷键 完整版
转自:http://www.opsers.org/linux-home/base/full-version-of-bash-keyboard-shortcuts.html#toc-3 生活在 Bash ...
随机推荐
- CoreData(数据库升级 )版本迁移-iOS App升级安装
版权声明:本文为博主原创文章,未经博主允许不得转载. 如果IOS App 使用到CoreData,并且在上一个版本上有数据库更新(新增表.字段等操作),那在覆盖安装程序时就要进行CoreData数据库 ...
- 官方文档 Upgrading Elasticsearch
Upgrading Elasticsearch Before upgrading Elasticsearch: Consult the breaking changes docs. Use the E ...
- (四)Hystrix容错保护
Feign默认是整合了Ribbon和Hystrix这两个框架,所以代码我们在上一篇的基础上进行修改,启动Eureka,service-hello,Feign 所谓的熔断机制和日常生活中见到电路保险丝是 ...
- 区间不相交&区间覆盖
//code by virtualtan 2018 寒7 区间不相交 #include <cstdio> #include <algorithm> #define MAXN 1 ...
- 为什么不针对internal接口写单元测试?
测试驱动的开发(TDD,Test Driven Development)的核心理念,是要使得重构(refactoring)更为有效,而不是创建更多的测试. 对一个有着长生命周期的项目来讲,在它的第一个 ...
- SpringMVC(二) 参数绑定 与 JSON
参数绑定 http请求传输的参数都是String类型,但是Hanlder业务方法中的参数都是我们指定的数据类型,如int,Object等,所以需要处理参数的类型转换.此项工作不需要我们开发人员去完成, ...
- WinForm关于listview的用法介绍
public Form1() { InitializeComponent(); //控件的行为 listView1.Bounds = , ), , ));//相对位置 listView1.View = ...
- SpringCloud学习笔记(2)----Spring Cloud Netflix之Eureka的使用
1. Spring Cloud Netflix Spring Cloud Netflix 是Spring Cloud 的核心子项目,是对Netflix公司一系列开源产品的封装.它为Spring Bo ...
- yii2.0 利用Excel类做导入导出
1.在 common 目录下 创建一个 components 将 Classes目录(改名为PHPExcel)和PHPExcel.php 放在新创建的目录下.再在 components 下创建一个Co ...
- VB学习笔记(一)VB操作字符串
在vb中 dim a# 定义a变量为双精度型变量~ #是类型符 % 整型 & 长整型 !单精度 $ 字符型 VB中strconv 的作用 StrConv("要转换的字符串" ...