千家信息网

Unix stty命令详解

发表于:2025-12-05 作者:千家信息网编辑
千家信息网最后更新 2025年12月05日,UNIX系统的命令很多,下面讲解stty. 该命令是一个用来改变并打印终端行设置的常用命令。1、stty(set tty,设置tty)命令用于检查和修改当前注册的终端的通信参数。UNIX系统为键盘的输
千家信息网最后更新 2025年12月05日Unix stty命令详解

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


1、stty(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则是禁止校验;


选项cs5、cs6、cs7和cs8分别将字符大小设为5、6、7和8比特;


选项300、600、1200、2400、4800、9600和19200设置波特率;


cstopb和-cstopb分别设置两个或一个停止位;


tabs使系统使用制表符而不是空格序列,因此减少了输出量,选项-tabs仅使用空格,当终端不能正确处理制表符(tab)时应使用该项。





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


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选项的全部清单。在进行尝试之前,应当查阅手册,仔细分析,以免给你的工作带来麻烦。


oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html

命令 终端 系统 用户 控制 方法 输出 混乱 字符 工作 通信 输入 制表符 功能 序列 情况 手册 文件 空格 要么 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 国家网络安全相关公司 怎么筛选文件中的数据库 能做pi节点的腾讯云服务器 信乎服务器 压力试验机数据库密码 河南网络技术专升本考什么科目 钉钉打卡人脸识别软件开发工具包 浪潮机架服务器维修地址 恩施州服务器机柜供应商 为啥手机总显示无法联接服务器 网络安全宣传周的发言稿 易语言服务器验证客户时间 徐汇区品牌软件开发常见问题 我的世界插件服务器种类有哪些 star rocks数据库 天津潮流软件开发参考价格 华为云服务器无法远程连接 四川戴尔服务器云空间 数据库的前端后台 中小网站服务器租用还是托管好 沧州市千帆软件开发有限公司 启峰软件开发工作室 电脑服务器坏了什么意思 网络软件开发培训学校 软件开发公司杭州有吗 金牛区坚果软件开发工作室 网络安全技术理论知识 相思树下载软件开发 武汉外包的软件开发公司 软件开发私钥保存策略
0