bash下的方便快捷键

来源:互联网 发布:淘宝价格趋势app 编辑:程序博客网 时间:2024/05/16 17:04

 

1,命令行编辑
  用户在命令行上输入字符的过程中,只要是在按Enter键之前,就可以对所输入的内
容进行一些编辑和修改。也就是说,可以利用箭头在当前命令行上移动,删除或插入所
需的字符。完成后,不论光标处于哪个位置,只要按Enter键就可以执行该命令了。
  Bash为用户提供了几个重要的快捷键,可以提高编辑的速度:

      *Tab  命令补全
  * Backspace 删除当前光标左边的字符;
  * Ctrl+a 光标跳到行头;
  * Ctrl+e 光标跳到行尾;
  * Ctrl+d 删除光标所在处的字符;
  * Ctrl+k 删除当前光标所在处到行末的字符;
  * Ctrl+l 清屏并把当前命令作为屏幕上第一条命令显示。

2,命令历史记录
  当用户输入命令后按下Enter键,那么刚才输入的命令就被加入到命令历史记录中,
用户可以通过按向上或向下箭头访问命令历史记录。如果某个命令输入错了而未被正常
执行,则也会把按Enter键时命令行上的内容加入到命令历史记录中。这样可以很方便地
将其调出来,经过修改后再让其执行。命令历史记录的另一个作用是为多次执行重复的
命令提供了方便。
  访问历史表命令的一个快捷方法是用!符号。输入!号和历史表中命令的第一个字
符,就可以执行最近一条以该字母开头的命令。
  例如,如果前面用过命令
  #find / -name *.doc -print
  而要再次执行这个命令,可以用
  #!find
  只要使用“find / -name *.doc -print”之后没有使用其它以find开头的命令,则
可以执行这个命令。利用!find,执行历史表中最近一条以字符串find开头的命令。
  其中最有趣的是Ctrl+r,它可以动态地、交互式地在历史表中逆向搜索。输入命令
时,Bash显示匹配所输入内容的最近一条命令。输入越多,匹配越接近。
  假设要执行已经用过的复杂find命令,可以用Ctrl+R在历史表中逆向搜索。这时,
Bash会显示交互式搜索提示:
  (reverse-i-search):
  在冒号后面输入字母时,Bash显示匹配所输入内容的最近一条命令。例如,输入时
可能显示:
  (reverse-i-search)f:file inittab
  继续输入到fi时可能显示
  (reverse—i—search)fi:file inittab
  而最后输入到fin时则显示
  (reverse-i-search)fin:find / -name *.txt -print

  这正是所需的命令。这时,按Enter键就可以执行这个命令了。

3,选取和粘贴文本
  Bash允许用户选取屏幕任何地方上的文本,然后将其粘贴到命令行中。具体的方法
是,将鼠标放到所选文本的开始处并按下鼠标左键,按住鼠标左键的同时拖动鼠标到所
选取文本的结束处,松开鼠标左键,这样就选定了一段文本。
  当想要将选取的文本粘贴到命令行的光标所在处时,只要按一下鼠标右键(或中间
键)即可。
  管道与输入、输出重定向
  可以使用管道(|)将多个命令连接起来,把前一个命令的输出作为后一个命令的输
入。例如,在命令
  #ls -l -a | more
  中,前一个命令“ls -l -a”的输出不再是显示到标准输出设备(屏幕终端),而
是被重定向为后一个命令“more”的标准输入。
  Bash中还可以利用重定向符号“〈”和“〉”重定向标准输入和输出。例如,使用
命令
  #ls -l -a 〉 f1
  则可以将命令“ls -l -a”的输出保存到文件“f1”中。在执行该重定向命令前,
若文件f1不存在则会创建该文件,若文件f1已经存在则会覆盖原先的文件。有时,在使
用该重定向功能时,我们希望将一个命令的执行结果追加到已有的文件之后,而不是将
原先的文件覆盖,这时可以使用非破坏性的追加重定向操作符“〉〉”。例如,可以使
用命令
  #ls -l -a 〉〉 f1
  同样,可以用符号“〈”把文件内容作为标准输入。

4,命令替换
  命令替换类似于管道命令,但不同之处在于,管道中一个命令的标准输出被重定向
到另一命令的标准输入,而命令替换中一个命令的标准输出变成另一命令的变元或参数
。它的语法格式可以表示为
  #command1 `command2`
  注:所使用的是向后的单引号(`,也称为重音号)。
  下面,我们来看一个例子。假设要压缩所有扩展名为 .txt的文件,可以用命令:
  #gzip `find / -name *.txt -print`
  其中,命令“find / -name *.txt -print”的作用是得到所有这些文件的清单。