键盘高级操作技巧
移动光标
光标移动命令
按键 | 行动 |
---|---|
Ctrl-a | 移动光标到行首。 |
Ctrl-e | 移动光标到行尾。 |
Ctrl-f | 光标前移一个字符;和右箭头作用一样。 |
Ctrl-b | 光标后移一个字符;和左箭头作用一样。 |
Alt-f | 光标前移一个字。 |
Alt-b | 光标后移一个字。 |
Ctrl-l | 清空屏幕,移动光标到左上角。clear 命令完成同样的工作。 |
修改文本
这些命令用来在命令行中编辑字符。
按键 | 行动 |
---|---|
Ctrl-d | 删除光标位置的字符。 |
Ctrl-t | 光标位置的字符和光标前面的字符互换位置。 |
Alt-t | 光标位置的字和其前面的字互换位置。 |
Alt-l | 把从光标位置到字尾的字符转换成小写字母。 |
Alt-u | 把从光标位置到字尾的字符转换成大写字母。 |
剪切和粘贴文本
Readline 的文档使用术语 killing 和 yanking 来指我们平常所说的剪切和粘贴。 剪切下来的本文被存储在一个叫做剪切环(kill-ring)的缓冲区中。
按键 | 行动 |
---|---|
Ctrl-k | 剪切从光标位置到行尾的文本。 |
Ctrl-u | 剪切从光标位置到行首的文本。 |
Alt-d | 剪切从光标位置到词尾的文本。 |
Alt-Backspace | 剪切从光标位置到词头的文本。如果光标在一个单词的开头,剪切前一个单词。 |
Ctrl-y | 把剪切环中的文本粘贴到光标位置。 |
自动补全
shell 能帮助你的另一种方式是通过一种叫做自动补全的机制。当你敲入一个命令时, 按下 tab 键,自动补全就会发生。(如果tab键无效的话试着找教程解决一下)
ls l
ls ls-output.txt
这是最常用的形式。自动补全也能对变量(如果 字的开头是一个”$”)、用户名字(单词以”~”开始)、命令(如果单词是一行的第一个单词) 和主机名(如果单词的开头是”@”)起作用。主机名自动补全只对包含在文件/etc/hosts 中的主机名有效。
按键 | 行动 |
---|---|
Alt-? | 显示可能的自动补全列表。在大多数系统中,你也可以完成这个通过按 两次 tab 键,这会更容易些。 |
Alt-* | 插入所有可能的自动补全。当你想要使用多个可能的匹配项时,这个很有帮助。 |
利用历史命令
,bash 维护着一个已经执行过的命令的历史列表。这个命令列表 被保存在你家目录下,一个叫做 .bash_history 的文件里。这个 history 工具是个有用资源, 因为它可以减少你敲键盘的次数,尤其当和命令行编辑联系起来时。在默认情况下,bash 会存储你所输入的最后 500 个命令
history | less
我们想在自己曾经用过的命令中,找出和/usr/bin这一目录相关的。那么我们就可以这样做:
history | grep /usr/bin
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FO3Pff3j-1680188386051)(C:\Users\玛卡巴卡的pro14\AppData\Roaming\Typora\typora-user-images\image-20230330223114115.png)]
数字 是这个命令在历史列表中的行号。
输入 Ctrl-r来启动增量搜索,
(reverse-i-search)`':
接着输入你要寻找的字。
(reverse-i-search)`/usr/bin': ls -l /usr/bin > ls-output.txt
当你找到它以后,你可以敲入 Enter 来执行命令, 或者输入 Ctrl-j,从历史列表中复制这一行到当前命令行。
ls -l /usr/bin > ls-output.txt
再次输入 Ctrl-r,来找到下一个 匹配项(历史列表中向上移动)。输入 Ctrl-g 或者 Ctrl-c,退出搜索。
历史命令
按键 | 行为 |
---|---|
Ctrl-p | 移动到上一个历史条目。类似于上箭头按键。 |
Ctrl-n | 移动到下一个历史条目。类似于下箭头按键。 |
Alt-< | 移动到历史列表开头。 |
Alt-> | 移动到历史列表结尾,即当前命令行。 |
Ctrl-r | 反向增量搜索。从当前命令行开始,向上增量搜索。 |
Alt-p | 反向搜索,非增量搜索。(输入要查找的字符串,按下 Enter来执行搜索)。 |
Alt-n | 向前搜索,非增量。 |
Ctrl-o | 执行历史列表中的当前项,并移到下一个。如果你想要执行历史列表中一系列的命令,这很方便。 |
script
除了 bash 中的命令历史特性,许多 Linux 发行版包括一个叫做 script 的程序, 这个程序可以记录整个 shell 会话,并把 shell 会话存在一个文件里面。这个命令的基本语法是:
script [file]
令历史特性,许多 Linux 发行版包括一个叫做 script 的程序, 这个程序可以记录整个 shell 会话,并把 shell 会话存在一个文件里面。这个命令的基本语法是:
script [file]
命令中的 file 是指用来存储 shell 会话记录的文件名。如果没有指定文件名,则使用文件 typescript。查看脚本的手册页,可以得到一个关于 script 程序选项和特点的完整列表。