Bash 快捷键

一直想通过Bash实现像VI编辑器中那样,按一个键便自行执行某种操作,一个偶然的机会发现stty可以实现。

Linux
bash快捷键是很多习惯使用快捷键的朋友们刚刚接触Linux的人想要知道的,但是网上介绍快捷键的文章并不是很多,这里要注意Linux的不同的bash会有不同的效果,自已一定要注意使用的bash版本,Linux
bash快捷键也会有相应的不同。

在Ubuntu下使用bash时,熟练使用几个常用的快捷键还是很不错的,废话不多说,看下都有些什么?

Ctrl

1)光标控制

  • Ctrl + a 切换到命令行开始
  • Ctrl + e 切换到命令行末尾
  • Ctrl + l 清除屏幕内容,效果等同于clear

请先看脚本:

一直想通过Bash实现像VI编辑器中那样,按一个键便自行执行某种操作,一个偶然的机会发现stty可以实现。

1.Ctrl + a :移动到命令行首

  • A : 光标移到行首。
    Ctrl
  • E : 光标移到行尾。
    Ctrl
  • L : 清屏。
    Ctrl
  • U : 清除光标前至行首间的所有内容。
    Ctrl
  • H : 同 backspace 键相同。
    Ctrl
  • R : 搜索之前打过的命令。
    Ctrl
  • C : 杀死当前进程。
    Ctrl
  • D : 退出当前 Shell。
    Ctrl
  • Z : 把当前进程转到后台运行,使用’ fg ‘命令恢复。
    Ctrl
  • W : 移除光标前的一个单词
    Ctrl
  • K : 清除光标后至行尾的内容。
    Ctrl
  • T : 交换光标位置前的两个字符。
    Esc
  • T : 交换光标位置前的两个单词。
    Alt
  • 威尼斯网址开户网站 ,F : 在当前行把光标向前移一个单词。
    Alt
  • B : 在当前行把光标向后移一个单词。
    Tab
    : 自动补完命令

2)剪切复制

  • Ctrl + u 剪切清除光标之前的内容
  • Ctrl + k 剪切清除光标之后的内容
  • Ctrl + w 剪切清除光标之前的word(以空格分割的字段)
  • Ctrl + y 粘贴刚才所删除的字符
  • Ctrl + Shift + c 相当与选中后的复制
  • Ctrl + Shift + v 相当与选中后的粘贴}

#!/bin/sh

请先看脚本:

2.ctrl + e :移动到命令行尾

3)信号命令

  • Ctrl + c 终止命令
  • Ctrl + d 退出shell,logout
  • Ctrl + z
    转入后台运行(后台进程在当前用户退出后就会终止,若不想这样,试试
    nohup )

#
我们可以通过这个脚本来实现,对按键的自动检测。至于用作什么,大家仁者见仁,智者见智了就,“英雄必有用武之地的”。

#!/bin/sh

3.alt + f:按单词前右移

4)历史记录

  • !! 重复执行最后一条命令
  • history
    显示你所有执行过的编号+历史命令。这个可以配合!编辑来执行某某命令
  • Ctrl + p 显示上一条命令
  • Ctrl + n 显示下一条命令
  • Ctrl + r 在历史命令中查找(这条用的比较爽)
  • !$ 显示系统最近的一条参数(这是一个高端玩法)

# 2009-12-29 13:00:54 update

#
我们可以通过这个脚本来实现,对按键的自动检测。至于用作什么,大家仁者见仁,智者见智了就,“英雄必有用武之地的”。

4.alt + b:按单词后移

5)小例子

对于顺序执行的命令,如下:

$ cat /etc/apt/sources.list
$ vim !$  # 相当于 vim /etc/apt/sources.list

作为 !$ 的替代,可以使用 Atl+.

# wangxiaoyu(AT)live.com From

# 2009-12-29 13:00:54 update

5.ctrl + u: 从光标处删除至命令行首

_tty_setting=$(stty -g)

# From

6.ctrl + k:从光标处删除至命令行尾

stty -icanon

_tty_setting=$(stty -g)

7.ctrl +r: 逆向搜索命令历史

stty -echo

stty -icanon

8.ctrl+g:从历史模式搜索退出

# We can use c2 arguement to use keyboard shortcut with 2 characters.

stty -echo

9.ctrl+p:历史中的上一条命令

_key_press=$(head -c1)

# We can use c2 arguement to use keyboard shortcut with 2 characters.

10.ctrl+n:历史中的下一条命令

stty $_tty_setting

_key_press=$(head -c1)

11.ctrl+l:清屏

# 下面是对输入进行判断的部分

stty $_tty_setting

12.ctrl+s:阻止屏幕输出

#

# 下面是对输入进行判断的部分

13.ctrl+q:允许屏幕输出

case $_key_press in

#case $_key_press in

14.ctrl+z:挂起命令

A) echo -en “我们这里可以替换成我们所要执行的命令字符串1\n”

1) echo -en “我们这里可以替换成我们所要执行的命令字符串1\n”;;

 

;;

2) echo -en “我们这里可以替换成我们所要执行的命令字符串2\n”;;

2) echo -en “我们这里可以替换成我们所要执行的命令字符串2\n”

3) echo -en “我们这里可以替换成我们所要执行的命令字符串3\n”;;

;;

4) echo -en “我们这里可以替换成我们所要执行的命令字符串4\n”;;

3) echo -en “我们这里可以替换成我们所要执行的命令字符串3\n”

5) echo -en “我们这里可以替换成我们所要执行的命令字符串5\n”;;

;;

6) echo -en “我们这里可以替换成我们所要执行的命令字符串6\n”exit 1;;

4) echo -en “我们这里可以替换成我们所要执行的命令字符串4\n”

*) echo -en “这里可以替换成脚本的帮助信息相关的命令\n”esac

;;

附注:

5) echo -en “我们这里可以替换成我们所要执行的命令字符串5\n”

stty是用于显示和修改终端设置的,这个复杂的命令可以用在脚本中,用来控制终端 的行为或者显示输出的方法。结合特殊字符以及case或其它条件判断,我们很容易就可以实现像按下Ctrol

;;

  • F 实现搜索文件。

6) echo -en “我们这里可以替换成我们所要执行的命令字符串6\n”

脚本中。stty -g 是用来记录stty的参数,终端修改后在使用完毕后及时复原。

exit 1;;

其中 stty -echo 这个很常用,常用来用来要求用户输入密码时用。

*) echo -en “这里可以替换成脚本的帮助信息相关的命令\n”

在bash版本里的Linux bash快捷键就先说到这里。

esac

威尼斯网址开户网站 1

附注:

stty是用于显示和修改终端设置的,这个复杂的命令可以用在脚本中,用来控制终端 的行为或者显示输出的方法。结合特殊字符以及case或其它条件判断,我们很容易就可以实现像按下Ctrol

  • F 实现搜索文件。

脚本中。stty -g 是用来记录stty的参数,终端修改后在使用完毕后及时复原。

其中 stty -echo 这个很常用,常用来用来要求用户输入密码时用。
 

请先看脚本: #!/bin/sh # 我们可以…

相关文章