Bash的快捷键

1,714 views

Published on

Published in: Technology
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total views
1,714
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
21
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Bash的快捷键

  1. 1. Bash的快捷键<br />Tony Deng<br />http://twitter.com/wolfdeng<br />http://friendfeed.com/tonydeng<br />http://delicious.com/wolf.deng<br />http://wolfchina.blogbus.com<br />
  2. 2. 前言<br />我们在平常工作中大量使用Linux,而是用Linux的过程中Bash操作更是非常频繁,所以怎样高效的操作Bash是一个非常重要的事情,能够提高我们的工作效率。<br />下面结合我自己的经验,总结一些高效操作Bash的小技巧。<br />
  3. 3. 使用快捷键之前的注意<br />如果你用SecureCRT,默认的话,会输入不了Alt开头的快捷键,因为Alt被当作菜单快捷键了,可以点 选项 -> 会话选项,选择tag终端 -> 仿真 -> Emacs,把“使用Alt作为元件”打勾。<br />如果你使用gnome-terminal,默认状态下也输入不了Alt开头的快捷键,也被当作菜单快捷键了,可以点 编辑 -> 键盘快捷键,把“启用菜单快捷键”前面的勾去掉。<br />
  4. 4. 重度推荐的快捷键 – Ctrl+r<br />Ctrl + r<br />有时候,如果你想重新输入以前输入过的某条命令怎么办?<br />我见过两种做法:<br />不停的按向上方向键,试图找出那条命令<br />输入history命令,然后找到那条命令,或者grep一把history命令的输出<br />其实你有更好的选择,那就是按Ctrl + r,然后输入你想要的命令中含有的单词,就会出现这个单词的命令,如果它不是你想要的命令,那就继续按Ctrl + r,直到出现你想要的命令为止。<br />
  5. 5. 重度推荐的快捷键-- Alt+.<br />Alt+.<br />我们经常会做这样一件事情就是创建一个目录,然后进入这个目录做一些别的事情。如果目录名比较短,还没有什么太大的问题,如果比较长或者当前目录内类似文件名的文件比较多,就会比较麻烦了。<br />比如,下面的一个命令。<br />mkdir /tmp/linux/shell/bash/etc/sysconfig/networks/eth0<br />cd /tmp/linux/shell/bash/etc/sysconfig/networks/eth0<br />如果,你第一遍mkdir输入这么长的参数,然后cd的时候还要输入这么长的参数那么就是一件让人很郁闷的事情了。<br />你输入完cd之后,可以按Alt+.,就会自动输入那个长的不能再长的目录名。<br />其实,Alt+.的真正作用就是把上一条命令的最后一个参数输入到当前命令行。如果,你想把上上调命令的最后一个参数拿过来,就继续按Alt+.<br />如果你想把上一条命令第一个参数拿过来怎么办?用Alt+0 Alt+.<br />如果是上上条命令的第一个参数呢?当然是Alt+0 Alt+. Alt+.<br />
  6. 6. 常用快捷键—程序控制<br />Ctrl+c<br />终止当前在前台运行的程序<br />Ctrl+z<br />挂起当前在前台运行的程序<br />Ctrl+d<br />如果光标在行首且当前行没有输入字符,Ctrl+d退出当前会话<br />
  7. 7. 常用快捷键—光标移动<br />Ctrl+f<br />向前(Forward)移动一个字符<br />Ctrl+b<br />向后(Backward)移动一个字符<br />Alt+f<br />向前移动一个单词<br />Alt+b<br />向后移动一个单词<br />Ctrl+a<br />移动光标到行首<br />Ctrl+e<br />移动光标到行尾<br />
  8. 8. 常用快捷键—光标移动<br />Ctrl+d<br />向前删一个字符<br />Ctrl+h<br />向后删一个字符<br />Alt+d<br />向前删一个单词<br />Ctrl+w<br />向后删一个单词, 单词之间以空格分割<br />Ctrl+l<br />清屏, 相当于命令clear, 有了这个快捷键, 就不用每次努力的敲clear了<br />Ctrl+k<br />删除当前光标到行尾的字符<br />Ctrl+u<br />删除当前光标到行首的字符<br />Ctrl+y<br />粘贴删除环里面的第一项<br />Alt+y<br />粘贴删除环里面的后面的项<br />Ctrl+/<br />undo<br />Alt+.<br />取出上一条命令的最后一个参数<br />
  9. 9. 常用快捷键—历史命令操作<br />Ctrl+n<br />从历史命令列表中取下一条命令,相对于向下方向键<br />Ctrl+p<br />从历史记录去上一条命令,相对于向上方向键<br />Ctrl+r<br />向后增量搜索历史命令,非常方便,严重推荐<br />Ctrl+o<br />循环执行历史命令<br />可以用watch命令来替换<br />
  10. 10. 快捷键的背后<br />其实,上面的那些快捷键并不是有Bash来控制的,而是有一个叫readline的库来控制的。<br />Readline库用的地方非常多,比如gdb、mysql,所以,当你掌握了readline,就掌握了Bash、gdb、mysql等程序里面的快捷键操作技巧。<br />关于Readline的详细介绍和使用,可以看看这篇文章<br />http://docs.huihoo.com/homepage/shredderyin/readline.html<br />
  11. 11. 谢谢观赏<br />谢谢观赏<br />

×