`
xiaoqiang6775
  • 浏览: 32750 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

stty 命令

 
阅读更多

 

UNIX系统的命令很多,下面讲解stty. 该命令是一个用来改变并打印终端行设置的常用命令


1stty(set tty,设置tty)命令用于检查和修改当前注册的终端的通信参数。
UNIX系统为键盘的输入和终端的输出提供了重要的控制手段,可以通过stty命令对特定终端或通信线路设置选项。
可以在stty命令中使用-a查看当前注册终端的设置情况。
$ stty -a
Speed 9600 baud; line =0;intr= DEL;quit = ^;erase = ^h;kill =^U; eof = ^d;start=^q;stop=^s
-parenb -parodd cs8 -cstopb -hupcl cread -clocal -loblk
-ignbrk brkint ignpar -parmrk -inpck istrip -inlcr -igncr icrnl -iuclc
ixon ixany -ixoff
isig icanon -xcase echo echoe echok -echonl -noflsh
opost -olcuc onlcr -ocrnl -onocr onlret ofill ofdel tab3


需要时,这里显示的各种选择都可以重新配置。每种终端选项都有自己的名字(如ixon),其中大多数要么被设置要么被清除。在stty中相应选项前冠以负号(-),该选项被清除(禁止);如果无负号,该选项被设置。


当希望修改各选择的值时,应在stty命令中正确书写相应选项。如命令
$ stty -ixon
将流控制设置为OFF,而命令
$ stty ixon
则将其置为ON。在stty命令中可以同时设置多个选项:
$ stty ixon 1200
该命令将终端设置为1200波特,并将流控制置为ON


当选项的列表较长时,应当小心所做的修改造成会话的混乱。典型的情况下,终端在设置不正确时完全不能工作。经常出现的现象是列输出显示或用户的击键不能被shell正确接受。有时NEWLINE可能只显示或走一行但不回行,即用户输入的NEWLINE符不能被shell正确读取。建立新注册标识的过程通常建立了正确的stty选项,在日常使用中很少需要修改。但如果变量TERM的设置不正确或用户希望使用新的终端或通信渠道(如局域网),则需要修改stty的选项。


如果你在某个机器中注册后终端操作正常,但后来因故发生了混乱,那么最佳的解决方法是先注销然后再向系统注册。因为注册时系统会重新设置相应选项。还有一种不太严格的解决办法是:
$ stty sane
命令sane最常出现在大多数终端的stty选项的集合中。它并不改变通信信道的速率,但当终端发生混乱时,通常能够产生有益的效果。命令sane可能使全屏幕应用程序(vi)不能正确工作,而且在设置了选项sane之后,如果不能解决任何问题,就应立即注销,然后再注册。如果终端在注册后依然不能正确工作,用户的注册可能是不成功的。
如果终端已经混乱,NEWLINE键不能结束命令行,可以用CTRL-J代替NEWLINE直到用户执行stty sane。此时,再用CTRL-J终止stty sane,使系统恢复正常。
stty命令的几项主要选项功能为:
选项parenb使终端进行奇偶校验,-parenb则是禁止校验;
选项cs5cs6cs7cs8分别将字符大小设为5678比特;
选项300600120024004800960019200设置波特率;
cstopb-cstopb分别设置两个或一个停止位;
tabs使系统使用制表符而不是空格序列,因此减少了输出量,选项-tabs仅使用空格,当终端不能正确处理制表符(tab)时应使用该项。

2stty还可用于控制一些具有特殊控制功能的键。

 

1)在命令行下,禁止输出大写的方法
stty iuclc #开启
stty -iuclc #恢复
2在命令行下禁止输出小写
stty olcuc #开启
stty -olcuc#恢复
3打印出终端的行数和列数
stty size
4改变ctrl+D的方法:

系统可能已经使用CTRL-D作为文件结束符,但你可能喜欢使用CTRL-C
stty eof "string"

如:$ stty eof ^c

按下CTRL-C就显示为^c. 可以直接输入控制字符,在其前面冠以反斜线和脱字符( ^)。系统默认是ctrl+D来表示文件的结束, 通过这种方法,可以改变!


5屏蔽显示
stty -echo #禁止回显
stty echo #打开回显
测试方法:
stty -echo;read;stty echo;read
6忽略回车符
stty igncr #开启
stty -igncr#恢复
7恢复使用退格键
$ stty erase ^h
注:按下Backspace就出现了^h,
solaris系统默认是不支持Backspace,用这个命令改后就能正常使用了,方便多了.

 

8) 可以设置一个会话期,使得当自己键入一个退格键时,系统用退格、删除和退格序列响应。此时可以看到用退格键覆盖的字符从显示中消失了,这样更符合计算机的惯例。使用命令
$ stty echo
可使这一特性设置为ON

 

 

 

终端方式及其管理是UNIX系统中比较困难的内容之一,系统的用户手册中有stty选项的全部清单。在进行尝试之前,应当查阅手册,仔细分析,以免给你的工作带来麻烦。

分享到:
评论

相关推荐

    stty命令 修改终端命令行的相关设置

    UNIX系统为键盘的输入和终端的输出提供了重要的控制手段,可以通过stty命令对特定终端或通信线路设置选项。stty还可用于控制一些具有特殊控制功能的键。比如系统可能已经使用CTRL-D作为文件结束符,但你可能喜欢使用...

    解决Linux内核移植后退格键失效的问题

    1. 查看是否支持 stty 命令:用户可以直接执行 stty –a 命令来查看是否支持 stty 命令。如果支持,那么可以进入下一步。如果不支持,那么需要在移植文件系统时添加对 stty 命令的支持。在 busybox 目录下执行 make ...

    Unix 命令全集

    stty 命令 stty-cxma 命令 style 命令 su 命令 subj 命令 sum 命令 survd 守护进程 suspendvsd 命令 svmon 命令 swap 命令 swapoff 命令 swapon 命令 swcons 命令 sync 命令 synclvodm 命令 syncvg 命令 syscall ...

    Linux设备编程技术_shelllinux设备编程技术_shell编程_

    通过阅读《Linux设备编程技术.doc》文档,你可以更深入地了解stty命令的用法,包括如何设置特定的终端参数、如何处理特殊字符、如何在不同的终端模式间切换,以及如何在shell脚本中使用stty命令来增强程序的功能。...

    UNIX基本命令

    - **stty命令:** 设置终端的选项。 - **tty命令:** 显示当前终端设备名称。 - **sync命令:** 强制同步文件系统缓存到磁盘。 - **mount命令:** 挂载文件系统。 - **umount命令:** 卸载文件系统。 - **tar命令:*...

    linux笔记.pdf

    1. stty命令使用: stty命令用于改变和打印终端行设置。文档中提到的stty -echoctl和stty -ctlecho用于修改终端的控制字符显示。通常在使用Ctrl+C时,会产生一些不必要的字符,使用这两个参数可以去掉这些字符的...

    Linux使用stty显示修改终端行设置

    这包括控制字符、行处理选项、输入输出速度、缓冲区大小等多个方面,相比仅执行 `stty` 命令,`-a` 提供了更全面的信息。 2. `-g, –save`:打印当前终端设置为 stty 可读的字符串,该字符串可以保存并在以后重新...

    linux基础命令

    - **stty命令**:`stty -a`,用于查看终端机设置。 - **暂停屏幕输出**:`ctrl+S`,暂停屏幕输出。 - **恢复屏幕输出**:`ctrl+Q`,恢复屏幕输出。 10. **数据流重定向**: - 输出重定向:`>`、`>>`、`2>`、`2>...

    让你提升命令行效率的 Bash 快捷键 [完整版]

    Bash 快捷键大全 Bash 快捷键是提高命令行效率的关键,熟记以下快捷键将极大的提高您的命令行操作效率。 命令行编辑 * Ctrl + a:移到命令行首 ...2. ^S、^Q、^C、^Z 是由终端设备处理的,可用 stty 命令设置。

    bash shell 练习题

    知识点:stty 命令的使用,终端设置的自定义。 十、PATH 变量 11. 打印 PATH 变量的第五个路径。 知识点:PATH 变量的使用,cut 命令的使用。 十二、文件处理 13. 输出 export 命令的信息,但要求是每行第 12 ...

    tty、pty、pts等(小记) - CSDN博客1

    tty 命令可以显示当前终端的信息,stty 命令可以设置终端的参数。 串口(Serial Port)是一个物理设备,通常是 RS232 的一种实现方式。串口设备系统启动时,选择单用户模式,串口可以用于连接其他设备,例如调制...

    C语言实现2048游戏

    在游戏中,我们使用stty命令来设置终端为raw模式,以便于实现非阻塞键盘读取。 随机数生成 在游戏中,我们使用rand()函数来生成随机数,来决定新增方格的数字是2还是4。同时,我们还使用rand()函数来决定新增方格的...

    兰州大学操作系统实验九实验报告.doc

    5. 使用 stty 命令改变/查询终端行设置,例如 stty -a /dev/ttyS0。 6. 使用 hz 命令建立理解不同编码的终端会话,例如 hz -c /dev/ttyS0。 7. 使用 setterm 命令设置终端属性,例如 setterm -bl /dev/ttyS0。 8. ...

    AIX操作系统使用心得

    1. **使用stty命令**: - 首先禁用回显: ```bash stty -echo ``` - 然后提示用户输入密码: ```bash echo "Enter password: \c" read PASSWD ``` - 输入完成后恢复标准配置: ```bash stty echo ``` ...

    shell脚本编程100例

    利用stty命令关闭和开启回显功能,实现非交互式输入密码。 #### 12. 编写高效Shell脚本的建议 从简单的脚本入手,逐步学习更复杂的脚本编程技巧,注意编写脚本时的逻辑清晰和容错性。 通过以上知识点,我们可以...

    sell notebook

    12. **stty命令**:`stty -echo`会禁用回显,用于密码输入等场景,防止密码在屏幕上显示。之后使用`read`命令读取密码,完成后用`stty echo`恢复回显功能。 这些知识点构成了shell编程的基础,对于日常的系统管理、...

    Unix指令與環境

    5. **stty命令详解**: - `stty`命令用于设置终端的输入输出特性。 - **查看当前设置**: ```bash stty -a ``` - **关闭输入字符处理**: ```bash stty -istripcs8 ``` - **设置7位/8位数据模式**: ```...

    linux配置串口

    例如,可以使用 stty 命令设置串口的波特率、起始位数量、数据位数量、停止位数量和流控协议等参数。 串口设置包括: * 波特率:串口的传输速度,单位为 bps(比特每秒)。 * 起始位数量:串口的起始位数量,用于...

    unix Introduction.pdf

    stty命令用于配置和显示终端属性,如行缓冲、字符映射等,对于调整终端行为至关重要。 ### 3.5 获取帮助 Unix系统提供了丰富的帮助文档和在线手册,用户可以通过man命令查看某个命令的详细用法,这对于初学者来说...

    Shell学习笔记

    获取终端信息是许多Shell脚本中的常见需求,学习笔记讲述了如何使用tput和stty命令获取终端的详细信息。脚本调试部分介绍了bash内建调试、部分调试开启方法、自定义调试命令以及使用shebang进行调试。 函数和参数...

Global site tag (gtag.js) - Google Analytics