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
tty
终端的设置来实现 Backspace 删除功能。
-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 命令显示或更改终端的特性。在 Linux/Unix 平台上的 sqlplus
中,如果输错了字符,要想删除,习惯性的按下 Backspace 键后,发现非但没有删除想要删掉的字符,还多出了两个字符 ^H。虽然我们可以同时按下 Ctrl + Backspace 来删除,但可以通过修改 tty
终端的设置来实现 Backspace 删除功能。通过使用 stty 命令,就可以查看或者修改终端的按键设置。
stty [-F DEVICE | --file=DEVICE] [SETTING]... stty [-F DEVICE | --file=DEVICE] [-a|--all] stty [-F DEVICE | --file=DEVICE] [-g|--save]
-a, --all: 以容易阅读的方式打印当前的所有配置; -g, --save: 以 stty 可读方式打印当前的所有配置。 -F, --file=DEVICE: 打开并使用指定的DEVICE代替 stdin。 --help: 显示帮助消息,然后退出。 --version: 输出版本信息,然后退出。
终端设置:指定终端命令行的设置选项。
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禁止终端回显。