stty 命令详解

| 选择喜欢的代码风格  

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

stty 命令安装:


-bash: stty command not found

#Debian
apt-get install coreutils

#Ubuntu
apt-get install coreutils

#Alpine
apk add coreutils

#Arch Linux
pacman -S coreutils

#Kali Linux
apt-get install coreutils

#CentOS
yum install coreutils

#Fedora
dnf install coreutils

#OS X
brew install coreutils

#Raspbian
apt-get install coreutils

#Docker
docker run cmd.cat/stty stty

stty 命令补充说明:


stty 命令显示或更改终端的特性。在 Linux/Unix 平台上的 sqlplus 中,如果输错了字符,要想删除,习惯性的按下 Backspace 键后,发现非但没有删除想要删掉的字符,还多出了两个字符 ^H。虽然我们可以同时按下 Ctrl + Backspace 来删除,但可以通过修改 tty 终端的设置来实现 Backspace 删除功能。通过使用 stty 命令,就可以查看或者修改终端的按键设置。

stty 命令语法:


stty [-F DEVICE | --file=DEVICE] [SETTING]...
stty [-F DEVICE | --file=DEVICE] [-a|--all]
stty [-F DEVICE | --file=DEVICE] [-g|--save]

stty 命令选项:


-a, --all:           以容易阅读的方式打印当前的所有配置;
-g, --save:          以 stty 可读方式打印当前的所有配置。
-F, --file=DEVICE:   打开并使用指定的DEVICE代替 stdin。
--help:              显示帮助消息,然后退出。
--version:           输出版本信息,然后退出。

stty 命令参数:


终端设置:指定终端命令行的设置选项。

stty 命令实例:


stty 显示当前终端的所有设置:

$ stty -a

speed 38400 baud; rows 69; columns 193; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O;
min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke


------------------------------------
#其中:

eof : 输入结束
erase : 向后删除字符,
intr : 中断当前程序
kill : 删除整条命令
quit :退出当前程序
start : 启动屏幕输出
stop :停止屏幕输出;
susp : terminal stop当前程序。

stty 设置 Backspace 为删除键:

stty erase ^h

stty 如果要改回使用 Ctrl + Backspace 为删除键

stty erase ^?

stty 设置行数:

stty rows rows

stty size #查看生效情况

stty 设置列数:

stty cols cols

stty size #查看生效情况

stty 获取设备的实际传输速度:

stty -f path/to/device_file speed

stty 将所有模式重置为当前终端的合理值:

stty sane

stty 其他用法:

在命令行下,禁止输出大写的方法:
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    #恢复


#利用它设置我们的串口打印操作信息
stty -F /dev/ttyS0 speed 115200 cs8 -parenb -cstopb  -echo

解释:通过stty设置/dev/ttyS0串口, 波特率为115200 ,
数据位cs8,奇偶校验位-parenb,停止位-cstopb,同时-echo禁止终端回显。

stty 命令扩展阅读:




stty 命令评论

共收录到 503Linux 命令