前几天有个朋友给我发消息:"问你个问题,Linux 命令行有没有快捷键一下从行末会到行头?经常敲了很多命令发现忘加 sudo
了,然后把命令删了重新敲一遍"。
正好借此机会给不知道的朋友总结一下:
首先说说历史记录个数的 "HISTFILESIZE" 和 "HISTSIZE"的区别
默认情况下 HISTFILESIZE 和 HISTSIZE的值都是 500,表示可以记录 500 条命令记录。
· HISTFILESIZE 表示记录在文件中的命令条数
· HISTSIZE 表示记录在内存中的命令条数
当我们在 shell 命令行执行命令的时候,最近的 HISTSIZE 条命令被保存在内存当中可以使用上下光标或者
ctrl+p,ctrl+n 上下查找命令。
当退出 shell 时 HISTFILESIZE 条命令被保存到历史命令文件中,下次登录 shell
时会从历史命令文件中读取命令道内存历史命令道中。
当网络中断等异常时,你会发现之前的历史命令,下次登录时用上下光标找不到上次的历史命令,所以要正常退出或者发送探测包保持
shell 在线。
如果想增加历史命令保存的数量,可以在 ~/.bash_profile 中手动修改 HISTFILESIZE 和 HISTSIZE
这两个变量的值。
必须知道的Linux命令行
我想提一下一些快捷键可能依赖于你使用的 Shell。 Bash 是最受欢迎的 shell,所以列出的快捷键集中在 Bash。
如果你愿意,你也可以称其为 Bash 快捷键列表。
注意我在键盘快捷键中使用了大写字母,但这并不意味着你在使用快捷键时必须按下 shift 键。
常用
1. Tab
这是你不能没有的 Linux 快捷键。它将节省你 Linux 命令行中的大量时间。
只需要输入一个命令,文件名,目录名甚至是命令选项的开头,并敲击 tab
键。它将自动完成你输入的内容,或为你显示全部可能的结果。
如果你只记一个快捷键,这将是必选的一个。
2. Ctrl + C
这些是为了在终端上中断命令或进程该按的键。它将立刻终止运行的程序。
如果你想要停止使用一个正在后台运行的程序,只需按下这对组合键。
3. Ctrl + Z
该快捷键将正在运行的程序送到后台。 通常,你可以在使用 & 选项运行程序前之完成该操作,
但是如果你忘记使用选项运行程序,就使用这对组合键。
4. Ctrl + D
这对键盘快捷键将使你退出当前终端。如果你使用 SSH 连接,它将会关闭。 如果你直接使用一个终端,该应用将会立刻关闭。
把它当成"退出"命令。
5. Ctrl + L
你怎么清空你的终端屏幕?我猜是用 clear 命令。
你可以使用 Ctrl+L 清空终端,代替输入 C-L-E-A-R。得心应手,不是吗?
6. Ctrl + A
该快捷键将移动光标到所在行首。
假设你在终端输入了一个很长的命令或路径,并且你想要回到它的开头,
使用方向键移动光标将花费大量时间。注意你无法使用鼠标移动光标到行首。
这是 Ctrl+A 节省时间的地方。
7. Ctrl + E
这对快捷键与 Ctrl+A 相反。 Ctrl+A 送光标到行首,反之 Ctrl+E 移动光标到行尾。
8. Ctrl + U
输入了错误的命令? 代替用退格键来丢弃当前命令,使用 Linux 终端中的 Ctrl+U 快捷键。
该快捷键会擦除从当前光标位置到行首的全部内容。
9. Ctrl + K
这对和 Ctrl+U 快捷键有点像。 唯一的不同在于不是行首,它擦除的是从当前光标位置到行尾的全部内容。
10. Ctrl + W
你刚才了解了擦除到行首和行尾的文本。 但如果你只需要删除一个单词呢?使用 Ctrl+W 快捷键。
使用 Ctrl+W 快捷键,你可以擦除光标位置前的单词。 如果光标在一个单词本身上,它将擦除从光标位置到词首的全部字母。
最好的方法是用它移动光标到要删除单词后的一个空格上, 然后使用 Ctrl+W 键盘快捷键。
11. Ctrl + Y
这将粘贴使用 Ctrl+W,Ctrl+U 和 Ctrl+K 快捷键擦除的文本。
如果你删除了错误的文本或需要在某处使用已擦除的文本,这将派上用场。
12. Ctrl + P
你可以使用该快捷键来查看上一个命令。 你可以反复按该键来返回到历史命令。 在很多终端里,使用 PgUp
键来实现相同的功能。
13. Ctrl + N
你可以结合 Ctrl+P 使用该快捷键。Ctrl+N 显示下一个命令。 如果使用 Ctrl+P 查看上一条命令,你可以使用
Ctrl+N 来回导航。 许多终端都把此快捷键映射到 PgDn 键。
14. Ctrl + R
你可以使用该快捷键来搜索历史命令。
Ctrl+左右键:在单词之间跳转
Alt – d :由光标位置开始,往右删除单词。往行尾删
说明
Ctrl – k: 先按住 Ctrl 键,然后再按 k 键;
Alt – k: 先按住 Alt 键,然后再按 k 键;
M – k:先单击 Esc 键,然后再按 k 键。
移动光标
Ctrl – a :移到行首
Ctrl – e :移到行尾
Ctrl – b :往回(左)移动一个字符
Ctrl – f :往后(右)移动一个字符
Alt – b :往回(左)移动一个单词
Alt – f :往后(右)移动一个单词
Ctrl – xx :在命令行尾和光标之间移动
M-b :往回(左)移动一个单词
M-f :往后(右)移动一个单词
编辑命令
Ctrl – h :删除光标左方位置的字符
Ctrl – d
:删除光标右方位置的字符(注意:当前命令行没有任何字符时,会销系统或结束终端)
Ctrl – w :由光标位置开始,往左删除单词。往行首删
Alt – d :由光标位置开始,往右删除单词。往行尾删
M – d :由光标位置开始,删除单词,直到该单词结束。
Ctrl – k :由光标所在位置开始,删除右方所有的字符,直到该行结束。
Ctrl – u :由光标所在位置开始,删除左方所有的字符,直到该行开始。
Ctrl – y :粘贴之前删除的内容到光标后。
ctrl – t :交换光标处和之前两个字符的位置。
Alt + . :使用上一条命令的最后一个参数。
Ctrl – _ :回复之前的状态。撤销操作。
Ctrl -a + Ctrl -k 或 Ctrl -e + Ctrl -u 或 Ctrl -k + Ctrl -u
组合可删除整行。
Bang(!)命令
!! :执行上一条命令。
^foo^bar :把上一条命令里的foo替换为bar,并执行。
!wget :执行最近的以wget开头的命令。
!wget:p :仅打印最近的以wget开头的命令,不执行。
!$ :上一条命令的最后一个参数, 与 Alt - . 和 $_ 相同。
!* :上一条命令的所有参数
!*:p :打印上一条命令是所有参数,也即 !*的内容。
^abc :删除上一条命令中的abc。
^foo^bar :将上一条命令中的 foo 替换为 bar
^foo^bar^ :将上一条命令中的 foo 替换为 bar
!-n :执行前n条命令,执行上一条命令: !-1, 执行前5条命令的格式是: !-5
查找历史命令
Ctrl – p :显示当前命令的上一条历史命令
Ctrl – n :显示当前命令的下一条历史命令
Ctrl – r
:搜索历史命令,随着输入会显示历史命令中的一条匹配命令,Enter键执行匹配命令;ESC键在命令行显示而不执行匹配命令。
Ctrl – g :从历史搜索模式(Ctrl –
r)退出。
控制命令
Ctrl – l :清除屏幕,然后,在最上面重新显示目前光标所在的这一行的内容。
Ctrl – o :执行当前命令,并选择上一条命令。
Ctrl – s :阻止屏幕输出
Ctrl – q :允许屏幕输出
Ctrl – c :终止命令
Ctrl – z :挂起命令
重复执行操作动作
M – 操作次数 操作动作 : 指定操作次数,重复执行指定的操作。
总结:
在 Linux
下使用命令操作的时候,光标的移动令人头痛。命令输入完了,执行之后发现缺少权限,然后不得不移动光标到行首,而命令又极长……以上是一些每个
Linux 用户必须使用的键盘快捷键。使用命令行时,这些 Linux 快捷键将提升你的工作效率和效率。
欢迎加入
51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】...
51与你共同学习,一起成长!期待你的加入:
QQ群:755431660