3.5 汇总Linux/UNIX下的bash快捷键
在工作中发现,许多同事,尤其是PHP开发同事,基本不用Linux/UNIX下的快捷键,这严重影响了工作效率。所以我收集了一下CentOS 5.8及FreeBSD 8.1下bash中命令行的快捷键。以下快捷键在CentOS 5.8_x64、FreeBSD 8.1_x64下均可使用。另外,我在每条用法后加上了注释,帮助大家理解它们的作用。
Ctrl+A:切换到命令行开始。
这个操作跟Home实现的结果一样,但Home在某些UNIX环境下无法使用,这时候便可以使用此组合键。在Linux下的Vim中,这个快捷组合键也是有效的,而且在Windows系列的许多文件编辑器里也有效。
Ctrl+E:切换到命令行末尾。
这个操作跟End实现的结果一样,但End键在某些UNIX环境下无法使用,这时候便可以使用这个组合键。在Linux下的Vim中,这个快捷组合键也是有效的,而且在Windows的许多文件编辑器里也有效。
Ctrl+L:清除屏幕内容,效果等同于Clear。
Ctrl+U:清除剪切光标之前的内容。
这个命令很有用,在nslookup里也是有效的。我有时看见同事一个字一个字地删除Shell命令,效率十分低下,其实完全可以用一个Ctrl+U搞定。
Ctrl+K:剪切清除光标之后的内容。
Ctrl+Y:粘贴刚才所删除的字符。
此命令比较强悍,删除的字符有可能是几个字符串,但也极有可能是一行命令。比如说我们都出现过手误现象,这有点类似于MS Office中的Ctrl+Z组合键的作用。
Ctrl+R:在历史命令中查找(这个非常好用,输入关键字就调出了以前的命令)。
这个命令我强烈推荐,当history比较多时,想找一个比较复杂的命令,直接用此快捷键,Shell便会自动查找并调用,方便极了。
Ctrl+C:终止命令。
Ctrl+D:退出当前终端。
Ctrl+Z:转入后台运行。
不过,由Ctrl+Z转入后台运行的进程在当前用户退出后就会终止,所以不如用nohup命令&,因为nohup命令的作用就是在用户退出之后让进程继续运行,而现在有许多脚本和命令都要求在退出终端时仍然有效。
!!:重复执行最后一条命令。
history显示你执行过的所有编号+历史命令。可以使用其配合符号!来执行某命令。
↑(Ctrl+P):显示上一条命令。
↓(Ctrl+N):显示下一条命令。
!$:显示系统最近的一条参数。
最后这个快捷键比较有用,比如我先用了cat/etc/sysconfig/network-scripts/ifconfig-eth0,然后我想用Vim编辑。一般的做法是先用↑显示最后一条命令,接着用Home移动到命令最前面,删除cat,然后再输入Vim命令。其实完全可以用vim!$来代替。
如果掌握以上用法,在Linux/UNIX上工作基本上就非常有效率了。也许到最后,你会不经意地发现,弹指之间,许多复杂的Shell命令就能很轻松地搞定,工作效率也越来越高了。