在linux中,stty全称“set tty”,意思为“设置tty”,是一个用于显示和修改terminal(终端)相关设置的命令;语法“stty [选项] [设置]”,stty命令不带参数可以打印终端行设置,加上“-a”选项可以打印得更详细些。
本教程操作环境:linux7.3系统、Dell G3电脑。
设备文件处理与磁盘文件的区别
先说几个比较直观的感觉。首先,在你通过键盘(一般是标准的输入的终端设备),输入字符,直到你输入的回车键(键盘上面的 Enter 为回车键,不是换行键;换行的 ACCII 为 10,回车为 13;换行在程序中的体现就是 n),你的程序才会有“反应”,给人一种好像就是回车后你的程序才接受到你输入的数据;
其次,你在程序中写一个 printf(“This is a demon”); 你会发现你的下一个输出就是在下一行的最左边开始输出的,但是,回车与换行的本身功能是:
r
为 return,回车,即使光标回到当前行的头;
n
为 newline,换行,即光标移动到当前位置的下一行。
所以,说明进程将你的 n 转化为了 rn。而在Linux下出现这些的原因,就是因为在终端设备与进程之间的中间,还有一个终端驱动器,里面有终端驱动函数。这里有两张图,便于大家理解。
进程和终端间的数据传输和数据处理是由终端设备驱动程序来负责的,终端驱动程序是内核的一部分。可以通过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。这样当前进程就会变成后台进程了。
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视频教程》
以上是linux stty是什么意思的详细内容。更多信息请关注PHP中文网其他相关文章!

Linux是一个基于Unix的多用户、多任务操作系统,强调简单性、模块化和开放性。其核心功能包括:文件系统:以树状结构组织,支持多种文件系统如ext4、XFS、Btrfs,使用df-T查看文件系统类型。进程管理:通过ps命令查看进程,使用PID管理进程,涉及优先级设置和信号处理。网络配置:灵活设置IP地址和管理网络服务,使用sudoipaddradd配置IP。这些功能在实际操作中通过基本命令和高级脚本自动化得以应用,提升效率并减少错误。

进入Linux维护模式的方法包括:1.编辑GRUB配置文件,添加"single"或"1"参数并更新GRUB配置;2.在GRUB菜单中编辑启动参数,添加"single"或"1"。退出维护模式只需重启系统。通过这些步骤,你可以在需要时快速进入维护模式,并安全地退出,确保系统的稳定性和安全性。

Linux的核心组件包括内核、shell、文件系统、进程管理和内存管理。1)内核管理系统资源,2)shell提供用户交互界面,3)文件系统支持多种格式,4)进程管理通过fork等系统调用实现,5)内存管理使用虚拟内存技术。

Linux系统的核心组成部分包括内核、文件系统和用户空间。1.内核管理硬件资源并提供基本服务。2.文件系统负责数据存储和组织。3.用户空间运行用户程序和服务。

维护模式是Linux系统中通过单用户模式或救援模式进入的特殊运行级别,用于系统维护和修复。1.进入维护模式使用命令“sudosystemctlisolaterescue.target”。2.在维护模式中,可以检查并修复文件系统,使用命令“fsck/dev/sda1”。3.高级用法包括重置root用户密码,需挂载文件系统为读写模式并编辑密码文件。

维护模式用于系统维护和修复,允许管理员在简化环境中工作。1.系统修复:修复损坏的文件系统和启动加载器。2.密码重置:重置root用户密码。3.软件包管理:安装、更新或删除软件包。通过修改GRUB配置或使用特定键进入维护模式,执行维护任务后可安全退出。

Linux网络配置可以通过以下步骤完成:1.配置网络接口,使用ip命令临时设置或编辑配置文件持久化设置。2.设置静态IP,适合需要固定IP的设备。3.管理防火墙,使用iptables或firewalld工具来控制网络流量。

维护模式在Linux系统管理中扮演关键角色,帮助进行系统修复、升级和配置变更。1.进入维护模式可以通过GRUB菜单选择或使用命令“sudosystemctlisolaterescue.target”。2.在维护模式下,可以执行文件系统修复和系统更新等操作。3.高级用法包括重置root密码等任务。4.常见错误如无法进入维护模式或挂载文件系统,可通过检查GRUB配置和使用fsck命令修复。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

禅工作室 13.0.1
功能强大的PHP集成开发环境

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

SublimeText3 Linux新版
SublimeText3 Linux最新版

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具