0

0

linux stty是什么意思

青灯夜游

青灯夜游

发布时间:2023-04-06 16:23:46

|

3270人浏览过

|

来源于php中文网

原创

在linux中,stty全称“set tty”,意思为“设置tty”,是一个用于显示和修改terminal(终端)相关设置的命令;语法“stty [选项] [设置]”,stty命令不带参数可以打印终端行设置,加上“-a”选项可以打印得更详细些。

linux stty是什么意思

本教程操作环境:linux7.3系统、Dell G3电脑。

设备文件处理与磁盘文件的区别

  先说几个比较直观的感觉。首先,在你通过键盘(一般是标准的输入的终端设备),输入字符,直到你输入的回车键(键盘上面的 Enter 为回车键,不是换行键;换行的 ACCII 为 10,回车为 13;换行在程序中的体现就是 \n),你的程序才会有“反应”,给人一种好像就是回车后你的程序才接受到你输入的数据;

  其次,你在程序中写一个 printf(“This is a demo\n”); 你会发现你的下一个输出就是在下一行的最左边开始输出的,但是,回车与换行的本身功能是:

  \r 为 return,回车,即使光标回到当前行的头;

  \n为 newline,换行,即光标移动到当前位置的下一行。

  所以,说明进程将你的 \n 转化为了 \r\n。而在Linux下出现这些的原因,就是因为在终端设备与进程之间的中间,还有一个终端驱动器,里面有终端驱动函数。这里有两张图,便于大家理解。

1.png

2.png

  进程和终端间的数据传输和数据处理是由终端设备驱动程序来负责的,终端驱动程序是内核的一部分。可以通过tesetattr和tegetattr函数来改变终端驱动程序里里面的设置

  以上摘录至这篇文章:https://blog.csdn.net/suliangkuanjiayou/article/details/86665901

Linux stty 命令

1、作用

  为了自己能够编写适合自己的终端驱动函数,即去修改终端驱动程序里面的设置。在Linux中有这个命令,就是 stty(set tty,设置tty)。

  stty:用于显示和修改终端命令行的相关设置(change and print terminal line settings)。

2、语法

stty [选项] [设置]
stty [选项]

常用选项

  stty 命令不带参数可以打印终端行设置,加上 -a 参数可以打印得更详细些。

  stty size :可以显示终端的大小,即行数和列数。

  stty 命令还可以更改终端行的设置,格式如下:stty SETTING CHAR

  其中,SETTING可以是如下:

eof : 输入结束,文件结束,默认为Ctrl+D。比如:用cat >file来创建文件时,按Ctrl+D来结束输入。

erase : 向后删除字符,擦除最后一个输入字符,默认为Ctrl+?。注意默认情况下退格键Backspace不是删除字符。

intr : 中断当前程序,默认为Ctrl+C。

kill : 删除整条命令,删除整行,默认为Ctrl+U。

quit :退出当前程序,默认为Ctrl+\或Ctrl+|。

start : 启动屏幕输出,默认为Ctrl+Q。

stop :停止屏幕输出,默认为Ctrl+S。

susp : terminal stop当前程序,默认为Ctrl+Z。这样当前进程就会变成后台进程了。

NetShopForge网上商店程序(VB)源码
NetShopForge网上商店程序(VB)源码

NetShopForge是一款强劲的B2C的网上购物软件,利用她我们能建立起强劲的、自由的、安全的购物平台。 维博软件以有这样的软件无比自豪,系统基于ASP.NET 2.0及SqlServer开发,充分享受新技术带来的乐趣。 软件综合了卖家,买家,程序员,设计者的头脑风暴,目的就是用户能建立风格不同的电子商务系统,使它显得更加与众不同。 如果您寻求一款能按您的思想随意发挥的网上购物软件,那么Net

下载

werase:删除最后一个单词,默认为Ctrl+W。

  stty 命令还有一些其他用法,如:stty -echo 关闭回显(比如在脚本中用于输入密码时),然后再用 stty echo 打开回显。

#在命令行下,禁止输出大写的方法:
stty iuclc     #开启
stty -iuclc    #恢复

#在命令行下禁止输出小写:
stty olcuc    #开启
stty -olcuc   #恢复

#打印出终端的行数和列数:
stty size

#改变Ctrl+D的方法:
stty eof "string"
#系统默认是Ctrl+D来表示文件的结束,而通过这种方法,可以改变!

#屏蔽显示:
stty -echo   #禁止回显
stty echo    #打开回显
#测试方法:
stty -echo;read;stty echo;read

#忽略回车符:
stty igncr     #开启
stty -igncr    #恢复

3、使用示例

下面以xilinx的串口终端为例说明stty命令的使用方法。

在vivad0配置了两个串口分别是UART0和UART1,petalinx中设置UART1为调试串口,UART0和UART1分别对应分别对应/dev/ttyPS1和/dev/ttyPS0,可以用who命令看一下当前终端使用的是哪个串口:

可以看到当前终端使用的是ttyPS0

用 dmesg | grep ttyPS*可以查看当前终端对应哪个串口

可以看到ttyPS0对应串口的物理地址是0xff010000,从设备树中根据这个物理地址可以查到是哪个串口

1)查看当前终端信息:

stty -a

这个打印了当前终端的信息,一些参数解释如下:

speed 115200 baud:波特率是115200

cs8:数据是8位

ixon:流控打开,如果是-ixon则表示流控关闭

clocal:使能DTR/DTS

-parodd:失能奇校验

-parenb:失能奇偶校验

2)设置波特率115200,数据位8位:

  stty -F /dev/ttyPS1 115200 cs8

3)通过UART1发送数据:

  echo "qwert" > /dev/ttyPS1

4)查看UART1接受的数据

cat /dev/ttyPS1

通过串口工具向UART1发送数据,即可看到接受到的信息

  

相关推荐:《Linux视频教程

相关文章

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

42

2026.01.23

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

46

2026.01.23

yy漫画官方登录入口地址合集
yy漫画官方登录入口地址合集

本专题整合了yy漫画入口相关合集,阅读专题下面的文章了解更多详细内容。

202

2026.01.23

漫蛙最新入口地址汇总2026
漫蛙最新入口地址汇总2026

本专题整合了漫蛙最新入口地址大全,阅读专题下面的文章了解更多详细内容。

341

2026.01.23

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

16

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

100

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

73

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

75

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

67

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.8万人学习

Git 教程
Git 教程

共21课时 | 3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号