termios介绍
文件描述符(fd)
内核(kernel)利用文件描述符(file descriptor)来访问文件。文件描述符是非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文件。
结构体 termios
typedef unsigned int tcflag_t;
struct termios { tcflag_t c_iflag; /* input mode flags */ tcflag_t c_oflag; /* output mode flags */ tcflag_t c_cflag; /* control mode flags */ tcflag_t c_lflag; /* local mode flags */ cc_t c_line; /* line discipline */ cc_t c_cc[NCCS]; /* control characters */ speed_t c_ispeed; /* input speed */ speed_t c_ospeed; /* output speed */ #define _HAVE_STRUCT_TERMIOS_C_ISPEED 1 #define _HAVE_STRUCT_TERMIOS_C_OSPEED 1 };
函数tcgetattr——获取终端相关参数
* Put the state of FD into *TERMIOS_P. */
int tcgetattr (int __fd, struct termios *__termios_p) ;
tcgetattr函数用于获取与终端相关的参数。参数fd为终端的文件描述符,返回的结果保存在termios结构体中,该结构体一般包括如下的成员:
tcflag_t c_iflag;
tcflag_t c_oflag;
tcflag_t c_cflag;
tcflag_t c_lflag;
cc_t c_cc[NCCS];
函数tcsetattr——设置终端相关参数
/* Set the state of FD to *TERMIOS_P.
Values for OPTIONAL_ACTIONS (TCSA*) are in <bits/termios.h>. */
int tcsetattr (int __fd, int __optional_actions, const struct termios *__termios_p) ;
Values for OPTIONAL_ACTIONS (TCSA*) are in <bits/termios.h>. */
int tcsetattr (int __fd, int __optional_actions, const struct termios *__termios_p) ;
回显:就是你输入的东西能不能在终端显示出来,可以通过
stty -echo 关闭回显
stty echo打开回显
自己体验一下就知道了。