Linux的控制台命令行,Shell,Bash的快捷键 笔记241129
挑选
tab 命令补全
ctrl + a: 光标到行首 , ctrl + e: 光标到行尾
ctrl + u: 剪切到行首 , ctrl + k: 剪切到行尾,. 两个连用就能删除整行, alt + r 也有清空手工输入内容的效果
ctrl + / 撤消操作
Ctrl + C:终止当前正在执行的命令。同时也能用于取消当前行的内容,新启一行
Ctrl + R:开始逆向搜索历史命令,可以根据命令的任意部分进行匹配。在搜索过程中,可以继续按Ctrl + R来搜索上一条匹配的命令。
Ctrl + G:退出历史搜索模式。
ALT + R: 取消所有变更,并将当前行恢复到在历史记录中的原始状态(前提是当前命令是从历史记录中来的,如果是手动输入,则会清空行)。
参考1
Bash命令行提供了多种快捷键,这些快捷键可以大大提高用户在命令行环境下的工作效率。以下是一些常用的Bash命令行快捷键及其功能:
一、光标移动类快捷键
- Ctrl + A:将光标移动到命令行的开头。
- Ctrl + E:将光标移动到命令行的末尾。
- Ctrl + B 或 左箭头键:将光标向左移动一个字符。
- Ctrl + F 或 右箭头键:将光标向右移动一个字符。
- Alt + B:将光标向左移动一个单词。
- Alt + F:将光标向右移动一个单词。
- Ctrl + XX:在命令行首和光标当前位置之间移动光标。
二、文本编辑类快捷键
- Ctrl + U:从光标当前位置删除到命令行开头的内容。
- Ctrl + K:从光标当前位置删除到命令行末尾的内容。
- Ctrl + W:删除光标前的一个单词。
- Ctrl + H 或 Backspace:删除光标前一个字符。
- Ctrl + Y:粘贴最近删除或剪切的内容。
- Ctrl + T:将光标处的字符和光标前一个字符替换位置。
三、命令历史与搜索类快捷键
- Ctrl + P 或 上箭头键:显示上一条历史命令。
- Ctrl + N 或 下箭头键:显示下一条历史命令。
- Ctrl + R:开始逆向搜索历史命令,可以根据命令的任意部分进行匹配。在搜索过程中,可以继续按Ctrl + R来搜索上一条匹配的命令。
- !!:执行上一条命令。
- !序号:执行指定序号的命令,序号可以通过history命令查看。
- !xxx:执行最近一条以xxx开头的命令。
- !xxx:p:打印最近一条以xxx开头的命令,但不执行。
- ^aaa^bbb:将上一条命令中的aaa替换为bbb(仅替换一个)。
- ^aaa^bbb^:将上一条命令中的所有aaa替换为bbb。
四、其他常用快捷键
- Ctrl + C:终止当前正在执行的命令。
- Ctrl + Z:挂起当前正在执行的命令,将其送至后台。
- Ctrl + D:如果光标位于行首,则退出当前shell;如果光标不在行首,则删除光标当前字符。
- Ctrl + L:清空屏幕输出内容,相当于执行clear命令。
- Ctrl + S:暂停屏幕滚动输出。
- Ctrl + Q:恢复屏幕滚动输出。
- Tab:命令或路径补全。
这些快捷键可以帮助用户更高效地编辑和执行命令,提高在Bash命令行环境下的工作效率。
参考2
看起来您可能是指 bash 命令行的快捷键,而不是 bah。bash 是大多数 Linux 和 Unix 系统中默认的命令行 shell。下面是一些常用的 bash 命令行快捷键:
基本导航
- Ctrl + A:移动光标到行首。
- Ctrl + E:移动光标到行尾。
- Alt + B 或 Ctrl + 左箭头:向左移动一个单词。
- Alt + F 或 Ctrl + 右箭头:向右移动一个单词。
- Ctrl + F 或 右箭头:向右移动一个字符。
- Ctrl + B 或 左箭头:向左移动一个字符。
历史记录
- Ctrl + R:反向搜索历史命令(输入部分命令后按此键)。
- Ctrl + G:退出历史搜索模式。
- 上下箭头:浏览历史命令。
- Ctrl + P:显示上一条历史命令。
- Ctrl + N:显示下一条历史命令。
剪切和粘贴
- Ctrl + K:从光标位置删除至行尾。
- Ctrl + U:从光标位置删除至行首。
- Ctrl + W:从光标位置删除前一个单词。
- Alt + D:从光标位置删除下一个单词。
- Ctrl + Y:粘贴最近一次被删除的内容。
- Ctrl + _:撤销上一步操作。
其他有用的快捷键
- Ctrl + L:清屏(类似于
clear命令)。 - Ctrl + C:中断当前运行的命令。
- Ctrl + D:退出当前 shell 会话(如果在空行输入则退出)。
- Ctrl + Z:将当前进程挂起并放入后台。
- Ctrl + T:交换光标位置与前一个字符的位置。
- Alt + T:交换光标位置与前一个单词的位置。
- Ctrl + Shift + V 或 Shift + Insert:粘贴剪贴板内容(取决于终端模拟器)。
补全
- Tab:自动补全文件名、目录名或命令。
- Ctrl + I:等同于
Tab键,用于自动补全。
多行编辑
- Ctrl + O:执行当前行并获取下一行。
- Esc + .:插入上次命令的最后一个参数。
这些快捷键可以大大提高你在命令行中的工作效率。如果你使用的是其他类型的 shell(如 zsh 或 fish),可能会有一些不同的快捷键,但许多基本的快捷键是通用的。如果你有特定的需求或问题,请告诉我!
参考3
| 快捷键 | 快捷键说明 |
|---|---|
| CTRL-A | 将光标移到行首(在命令行下) |
| CTRL-B | 退格 (非破坏性的),这个只是将光标位置往回移动一个位置。 |
| CTRL-C | 中断,终结一个前台作业。 |
| CTRL-D | “EOF” (文件结尾:end of file)。它用于表示标准输入(stdin)的结束。在控制台或xterm 窗口输入文本时,CTRL-D 删除在光标下的字符。
从一个shell中退出 (类似于exit)。如果没有字符存在,CTRL-D 则会登出该会话。在一个xterm窗口中,则会产生关闭此窗口的效果。 |
| CTRL-E | 将光标移动到行尾(在命令行下) |
| CTRL-F | 将光标向前移动一个字符(在命令行下) |
| CTRL-G | BEL。在一些老式打印机终端上,这会引发一个响铃。在xterm终端上可能是哔的一声。 |
| CTRL-H | 擦除(Rubout)(破坏性的退格)。在光标往回移动的时候,同时擦除光标前的一个字符。 |
| CTRL-I | 水平制表符。 |
| CTRL-J | 新行(换行[line feed]并到行首)。在脚本中,也可能表示为八进制形式(‘/012′)或十六进制形式(‘/x0a’)。 |
| CTRL-K | 垂直制表符(Vertical tab)。在控制台或 xterm 窗口输入文本时,CTRL-K会删除从光标所在处到行尾的所有字符。
在脚本中,也可能表示为八进制形式(‘/013′)或十六进制形式(‘/x0b’)。在脚本中,CTRL-K可能会有不一样的行为,下面的例子给出其不一样的行为: #!/bin/bash ## 一个CTRL-K垂直制表符的例子 var=$'/x0aBottom Line/x0bTop line/x0a' ## 直接输出 echo "$var" ## 使用col来过滤控制字符 echo "$var" | col ## 上面的显示将会不一样 exit 0 |
| CTRL-L | 跳纸,换页(Formfeed),清屏。
清空终端屏幕。在终端上,这个命令的作用和clear命令一样。但当这个命令发送到打印机时,Ctrl-L会直接跳到纸张(Paper sheet)的末尾。 |
| CTRL-M | 回车(Carriage return)。 |
| CTRL-N | 擦除从history缓冲区召回的一行文本(在命令行下)。如果当前输入是历史记录中选择的时候,这个是从这个历史记录开始,每按一次,是更接近的一条命令。 |
| CTRL-O | 产生一个新行(在命令行下)。 |
| CTRL-P | 从history缓冲区召回上一次的命令(在命令行下)。此快捷键召回的顺序是由近及远的召回,即按一次,召回的是前一次的命令,再按一次,是召回上一次之前的命令,这和CTRL-N都是以当前的输入为起点,但是两个命令操作刚好相反,CTRL-N是从起点开始由远及近(如果起点是历史命令的话)。 |
| CTRL-Q | Resume (XON)。恢复/解冻,这个命令是恢复终端的stdin用的,可参见CTRL-S。 |
| CTRL-R | 回溯搜索(Backwards search)history缓冲区内的文本(在命令行下)。注意:按下之后,提示符会变成(reverse-i-search)”:输入的搜索内容出现在单引号内,同时冒号后面出现最近最匹配的历史命令。 |
| CTRL-S | Suspend(XOFF),挂起。这个是冻结终端的stdin。要恢复可以按CTRL-Q。 |
| CTRL-T | 交换光标位置与光标的前一个位置的字符内容(在命令行下)。比如:echo $var;,假设光标在a上,那么,按下C-T之后,v和a将会交换位置:echo $avr;。 |
| CTRL-U | 擦除从光标位置开始到行首的所有字符内容。在某些设置下,CTRL-U会不以光标位置为参考而删除整行的输入。 |
| CTRL-V | 在输入文本的时候,按下C-V之后,可以插入控制字符。比如:echo -e '/x0a’;和echo <CTRL-V><CTRL-J>;这两种效果一样。这点功能在文本编辑器内非常有效。 |
| CTRL-W | 当在控制台或一个xterm窗口敲入文本时, CTRL-W 会删除从在光标处往后(回)的第一个空白符之间的内容。在某些设置里, CTRL-W 删除光标往后(回)到第一个非文字和数字之间的字符。 |
| CTRL-X | 在某些文字处理程序中,这个控制字符将会剪切高亮的文本并且将它复制到剪贴板中。 |
| CTRL-Y | 将之前已经清除的文本粘贴回来(主要针对CTRL-U或CTRL-W)。 |
| CTRL-Z | 暂停一个前台的作业;在某些文本处理程序中也作为替换操作;在MSDOS文件系统中作为EOF(End-of-file)字符。 |
| CTRL-/ | 退出。和CTRL-C差不多,也可能dump一个”core”文件到你的工作目录下(这个文件可能对你没用)。 |
| CTRL-/ | 撤消操作,Undo。 |
| CTRL-_ | 撤消操作。 |
| CTRL-xx | 在行首和光标两个位置间进行切换,此处是两个”x”字符。 |
| ALT-B | 光标往回跳一个词,词以非字母为界(跳动到当前光标所在词的开头)。 |
| ALT-F | 光标往前跳一个词(移动到光标所在词的末尾)。 |
| ALT-D | 删除光标所在位置到光标所在词的结尾位置的所有内容(如果光标是在词开头,则删除整个词)。 |
| ALT-BASKSPACE | 删除光标所在位置到词开头的所有内容。 |
| ALT-C | 将光标所在位置的字母转为大写(如果光标在一个词的起始位置或之前,则词首字母大写)。 |
| ALT-U | 将光标所在位置到词尾的所有字母转为大写。 |
| ALT-L | 将光标位置到词尾的所有字母转为小写。 |
| ALT-R | 取消所有变更,并将当前行恢复到在历史记录中的原始状态(前提是当前命令是从历史记录中来的,如果是手动输入,则会清空行)。 |
| ALT-T | 当光标两侧都存在词的时候,交换光标两侧词的位置。如:abc <ALT-T>bcd -> bcd abc |
| ALT-. | 使用前一次命令的最后一个词(命令本身也是一个词,参见后一篇的Bang命令中的词指示符概念)。 |
| ALT-_ | 同ALT-.。 |
| ALT-数值 | 这个数值可以是正或者是负,这个键单独没有作用,必须后面再接其他内容,如果后面是字符,则表示重复次数。如:[ALT-10,k]则光标位置会插入10个k字符(负值在这种情况下无效);如果后面接的是命令,则数字会影响后面命令的执行结果,如:[ALT--10,CTRL-D]则向CTRL-D默认方向相反(负数)的方向执行10次操作。 |
| ALT-< | 移动到历史记录中的第一行命令。 |
| ALT-> | 移动到历史的最后一行,即当前正在输入的行(没有输入的情况下为空)。 |
| ALT-P | 从当前行开始向前搜索,有必要则向”上”移动,移动时,使用非增量搜索查找用户提供的字符串。 |
| ALT-N | 从当前行开始向后搜索,如果有必要向”下”移动,移动时,使用非增量搜索查找用户提供的字符串。 |
| ALT-CTRL-Y | 在标志点上插入前一个命令的第一个参数(一般是前一行的第二个词)。如果有参数n,则插入前一个命令的第n个词(前一行的词编号从0开始,见历史扩展)。负的参数将插入冲前一个命令的结尾开始的第n个词。参数n通过M-No.的方式传递,如:[ALT-0,ALT-CTRL-Y]插入前一个命令的第0个词(命令本身)。 |
| ALT-Y | 轮询到删除环,并复制新的顶端文本。只能在yank[CTRL-Y]或者yank-pop[M-Y]之后使用这个命令。 |
| ALT-? | 列出能够补全标志点前的条目。 |
| ALT-* | 把能够补全[ALT-?]命令能生成的所有文本条目插入到标志点前。 |
| ALT-/ | 试图对标志点前的文本进行文件名补全。[CTRL-X,/]把标志点前的文本当成文件名并列出可以补全的条目。 |
| ALT-~ | 把标志点前的文本当成用户名并试图进行补全。[CTRL-X,~]列出可以作为用户名补全标志点前的条目。 |
| ALT-$ | 把标志点前的文本当成Shell变量并试图进行补全。[CTRL-X,$]列出可以作为变量补全标志点前的条目。 |
| ALT-@ | 把标志点前的文本当成主机名并试图进行补全。[CTRL-X,@]列出可以作为主机补全标志点前的条目。 |
| ALT-! | 把标志点前的文本当成命令名并试图进行补全。进行命令名补全时会依次使用别名、保留字、Shell函数、shell内部命令,最后是可执行文件名。[CTRL-X,!]把标志点前的文本当成命令名并列出可补全的条目。 |
| ALT-TAB | 把标志点前的文本与历史记录中的文本进行比较以寻找匹配的并试图进行补全。 |
| ALT-{ | 进行文件名补全,把可以补全的条目列表放在大括号之间,让shell可以使用。 |
参考4
在Linux的控制台命令行中,Shell(特别是Bash)提供了丰富的快捷键,这些快捷键可以大大提高用户在命令行环境下的工作效率。以下是一些常用的Shell和Bash快捷键及其功能:
一、光标移动与文本编辑
- Ctrl + A:将光标移动到命令行的开头。
- Ctrl + E:将光标移动到命令行的末尾。
- Ctrl + B 或 左箭头键:将光标向左移动一个字符。
- Ctrl + F 或 右箭头键:将光标向右移动一个字符。
- Alt + B:将光标向左移动一个单词。
- Alt + F:将光标向右移动一个单词。
- Ctrl + XX:在命令行首和光标当前位置之间移动光标(相当于在两个位置之间切换)。
- Ctrl + U:从光标当前位置删除到命令行开头的内容。
- Ctrl + K:从光标当前位置删除到命令行末尾的内容。
- Ctrl + W:删除光标前的一个单词。
- Ctrl + H 或 Backspace:删除光标前一个字符。
- Ctrl + D:删除光标当前字符(如果光标在行首且是最后一个字符,则退出当前Shell)。
- Ctrl + Y:粘贴最近删除或剪切的内容(单个字符删除除外)。
- Alt + D:删除光标后的一个单词。
- Ctrl + T:将光标处的字符和光标前一个字符交换位置。
- Alt + T:将光标处的单词和光标前一个单词交换位置。
二、命令历史与搜索
- Ctrl + P 或 上箭头键:显示历史记录中的上一条命令。
- Ctrl + N 或 下箭头键:显示历史记录中的下一条命令。
- Ctrl + R:开始逆向搜索历史命令,输入关键字进行匹配。搜索过程中,可以继续按Ctrl + R查找上一条匹配的命令,按Ctrl + G退出搜索模式。
- !!:执行上一条命令。
- !序号:执行指定序号的命令(序号通过
history命令查看)。 - !xxx:执行最近一条以xxx开头的命令。
- !xxx:p:打印最近一条以xxx开头的命令,但不执行。
- ^aaa^bbb:将上一条命令中的第一个aaa替换为bbb。
- aaa^bbb^ 或 aaa^^bbb:将上一条命令中的所有aaa替换为bbb(注意,不同Shell可能有细微差别,如Bash中可能需要使用
^aaa^^bbb^形式)。
三、进程控制与输出管理
- Ctrl + C:终止当前正在执行的命令或进程。
- Ctrl + Z:将当前正在执行的命令或进程挂起到后台。
- Ctrl + S:暂停屏幕滚动输出(锁定终端)。
- Ctrl + Q:恢复屏幕滚动输出(解锁终端)。
- Ctrl + L:清空屏幕输出内容,相当于执行
clear命令。
四、其他常用快捷键
- Tab:命令或路径补全。如果输入的部分命令或路径唯一,则直接补全;如果不唯一,则显示可能的选项供选择。
- Alt + .:插入上一条命令的最后一个参数(在当前光标位置显示)。
- Esc + .:与Alt + .功能相同,用于插入上一条命令的最后一个参数。
这些快捷键可以大大提高用户在Linux控制台命令行中的工作效率。同时,用户也可以根据自己的习惯自定义一些快捷键来更方便地使用Shell和Bash。
参考5
-
编辑命令 Ctrl + a :移到命令行首 Ctrl + e :移到命令行尾 Ctrl + f :按字符前移(右向) Ctrl + b :按字符后移(左向) Alt + f :按单词前移(右向) Alt + b :按单词后移(左向) Ctrl + xx:在命令行首和光标之间移动 Ctrl + u :从光标处删除至命令行首 Ctrl + k :从光标处删除至命令行尾 Ctrl + w :从光标处删除至字首 Alt + d :从光标处删除至字尾 Ctrl + d :删除光标处的字符 Ctrl + h :删除光标前的字符 Ctrl + y :粘贴至光标后 Alt + c :从光标处更改为首字母大写的单词 Alt + u :从光标处更改为全部大写的单词 Alt + l :从光标处更改为全部小写的单词 Ctrl + t :交换光标处和之前的字符 Alt + t :交换光标处和之前的单词 Alt + Backspace:与 Ctrl + w 类似,分隔符有些差别
-
重新执行命令 Ctrl + r:逆向搜索命令历史 Ctrl + g:从历史搜索模式退出 Ctrl + p:历史中的上一条命令 Ctrl + n:历史中的下一条命令 Alt + .:使用上一条命令的最后一个参数
-
控制命令 Ctrl + l:清屏 reset全部清屏,不可恢复 Ctrl + o:执行当前命令,并选择上一条命令 Ctrl + s:阻止屏幕输出 Ctrl + q:允许屏幕输出 Ctrl + c:终止命令 Ctrl + z:挂起命令 Git Bash运行命令后,一直出现冒号:,按Q退出
-
Bang (!) 命令 !!:执行上一条命令 !blah:执行最近的以 blah 开头的命令,如 !ls !blah:p:仅打印输出,而不执行 !:p: 打印输出 ! $ 的内容 !* :上一条命令的所有参数 !* : p:打印输出 !* 的内容 ^blah:删除上一条命令中的 blah blahfoo:将上一条命令中的 blah 替换为 foo blahfoo^:将上一条命令中所有的 blah 都替换为 foo
参考 6
在 Linux 控制台命令行中,特别是使用 bash 作为 shell 时,有许多快捷键可以帮助你更高效地工作。以下是一些常用的 bash 快捷键:
基本导航
- Ctrl + A:移动光标到行首。
- Ctrl + E:移动光标到行尾。
- Alt + B 或 Ctrl + 左箭头:向左移动一个单词。
- Alt + F 或 Ctrl + 右箭头:向右移动一个单词。
- Ctrl + F 或 右箭头:向右移动一个字符。
- Ctrl + B 或 左箭头:向左移动一个字符。
历史记录
- 上下箭头:浏览历史命令。
- Ctrl + R:反向搜索历史命令(输入部分命令后按此键)。
- Ctrl + G:退出历史搜索模式。
- Ctrl + P:显示上一条历史命令。
- Ctrl + N:显示下一条历史命令。
- Ctrl + S:向前搜索历史命令(注意:在某些系统上可能被设置为停止输出)。
- Ctrl + O:执行当前行并获取下一行(用于多行命令)。
剪切和粘贴
- Ctrl + K:从光标位置删除至行尾。
- Ctrl + U:从光标位置删除至行首。
- Ctrl + W:从光标位置删除前一个单词。
- Alt + D:从光标位置删除下一个单词。
- Ctrl + Y:粘贴最近一次被删除的内容。
- Ctrl + _ 或 Alt + _:撤销上一步操作。
其他有用的快捷键
- Ctrl + L:清屏(类似于
clear命令)。 - Ctrl + C:中断当前运行的命令。
- Ctrl + D:注销当前会话或关闭终端(如果在空行输入则退出)。
- Ctrl + Z:将当前进程挂起并放入后台。
- Ctrl + T:交换光标位置与前一个字符的位置。
- Alt + T:交换光标位置与前一个单词的位置。
- Ctrl + Shift + V 或 Shift + Insert:粘贴剪贴板内容(取决于终端模拟器)。
补全
- Tab:自动补全文件名、目录名或命令。
- Esc + .:插入上次命令的最后一个参数。
多行编辑
- Ctrl + O:执行当前行并获取下一行。
- Ctrl + X Ctrl + E:打开默认文本编辑器来编辑当前命令行。
其他高级功能
- Ctrl + X Ctrl + U:将当前行转换为大写。
- Ctrl + X Ctrl + L:将当前行转换为小写。
- Ctrl + X Ctrl + R:重新读取配置文件(如
.bashrc)。