Chinaunix首页 | 论坛 | 博客
  • 博客访问: 121970
  • 博文数量: 121
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 1210
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-03 23:43
文章分类

全部博文(121)

文章存档

2011年(1)

2010年(6)

2009年(114)

我的朋友

分类: LINUX

2009-10-04 01:42:08

更改终端行为或文本显示. 控制字符都是以CONTROL + key的组合键.

在脚本文件中控制字符是不起作用的.

  • Ctl-B

    退格 (非破坏性的).

  • Ctl-C

    中断. 终结一个前台作业.

  • Ctl-D

    从一个shell中退出 (类似于).

    "EOF" (文件结尾:end of file).它也用于表示标准输入(stdin)的结束.

    在控制台或xterm 窗口输入文本时, Ctl-D删除在光标下的字符.如果没有字符存在,Ctl-D 则会登录出该会话. 在一个xterm窗口中,则会产生关闭此窗口的效果。

  • Ctl-G

    "哔" (beep).在一些老式的打字机终端上,它会响一下铃.

  • Ctl-H

    "杀掉" (破坏性的退格). 删除光标前的一个字符===.

       1 #!/bin/bash
       2 # 在一个字符串里嵌入 Ctl-H.
       3 
       4 a="^H^H"                  # 两个 Ctl-H (退格).
       5 echo "abcdef"             # abcdef
       6 echo -n "abcdef$a "       # abcd f
       7 #以一个空格结尾  ^              ^ 退二格.
       8 echo -n "abcdef$a"        # abcdef
       9 #  现在没有尾部的空格            不退格了 (为什么?).
      10                           # 结果和预料的不一样.
      11 echo; echo

  • Ctl-I

    水平制表符.

  • Ctl-J

    新行(换一行并到行首).

  • Ctl-K

    垂直制表符.

    在控制台或xterm 窗口输入文本时, Ctl-K 会删除从光标所在处到行尾的所有字符。

  • Ctl-L

    清屏 (重绘屏幕,清除前面的打印信息).这与命令作用相同.

  • Ctl-M

    回车.

       1 #!/bin/bash
       2 # 多谢Lee Maschmeyer的例子.
       3 
       4 read -n 1 -s -p $'Control-M leaves cursor at beginning of this line. Press Enter. \x0d'
       5                                   # 是的, '0d'是Control-M的十六进制值.
       6 echo >&2   #  '-s'使所有被键入的字符都不回显,
       7            #+ 所以需要明确地键入新行.
       8 
       9 read -n 1 -s -p $'Control-J leaves cursor on next line. \x0a'
      10 echo >&2   #  Control-J 是换行.
      11 
      12 ###
      13 
      14 read -n 1 -s -p $'And Control-K\x0bgoes straight down.'
      15 echo >&2   #  Control-K 是垂直制表符.
      16 
      17 # 展示垂直制表符作用的更好的例子是:
      18 
      19 var=$'\x0aThis is the bottom line\x0bThis is the top line\x0a'
      20 echo "$var"
      21 #  这和上面的例子一样工作.但是:
      22 echo "$var" | col
      23 #  这使行的右端比左端更高.
      24 #  这也解释了为什么我们以一个换行符开始和结束 --
      25 #+ 是为了避免屏幕显示混乱.
      26 
      27 # 这是Lee Maschmeyer的解释:
      28 # --------------------------
      29 #  在第一个垂直制表符例子中 . . . 垂直制表符使还未打印回车就直接垂直打印下来。
      30 #
      31 #  这只在不能“倒后”的设备里才成立,比如在Linux控制台,
      32 #
      33 #  垂直制表符真正的意图是能垂直地往上移,而不是往下移.
      34 #  可以在打印机里用于打印上标.
      35 #  这个要点的作用被用于仿效垂直制表符正确的功能.
      36 
      37 exit 0

  • Ctl-Q

    解冻 (XON).

    它解冻终端的标准输入.

  • Ctl-S

    挂起输入 (XOFF).

    它冻结终端的标准输入. (用 Ctl-Q 可恢复输入.)

  • Ctl-U

    删除从光标到行首的一行输入.在某些设置里,Ctl-U 删除整行的输入,而不管光标的位置.

  • Ctl-V

    当输入一个文本, Ctl-V允许插入控制字符。例如,下面两个命令是相等的:

       1 echo -e '\x0a'
       2 echo 

    Ctl-V 主要用于文本编辑.

  • Ctl-W

    当在控制台或一个xterm窗口敲入文本时, Ctl-W 会删除从在光标处往后的第一个空白符之间的内容.在某些设置里, Ctl-W 删除光标往后到第一个非文字和数字之间的字符.

  • Ctl-Z

    暂停一个前台作业.

阅读(1183) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~