Linux stty命令

stty时一个用来改变并打印终端行设置的常用命令。

 
1 ,在命令行下,禁止输出大写的方法
 
stty -icanon 设置一次性读完操作,如使用getchar()读操作,不需要按enter
stty icanon 取消上面设置
 
stty -a 查看 信息
 
stty -echo 关闭命令的回显,即键入的任何字符均不在屏幕显示
stty echo 取消上面设置,取消不显设置


stty raw 终端驱动处于一次一个字符模式

stty cooked 终端驱动处又回到一次一行模式

 
stty iuclc #开启

stty -iuclc #恢复

1.Linux中显示密码为*:

int main()
{
char c[7];
int i;
system("stty -icanon");
       system("stty -echo");
for(i = 0;i < 6 ;i ++)
{
c[i] = getchar();
printf("*");
}
c[i] = '\0';
system("stty echo");  
    return 0;
}


2,在命令行下禁止输出小写

stty olcuc #开启
stty -olcuc#恢复


3,打印出终端的行数和列数
stty size


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

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


6,忽略回车符
stty igncr #开启
stty -igncr#恢复
 
7.定时输入
 
timeout_read()
 
{
 
timeout=$1
 
old_stty_settings=`stty -g`  #save current settings
 
stty -icanon min 0 time 100  #set 10seconds,not 100seconds
 
eval read varname  #=read $varname
 
stty "$old_stty_settings"  #recover settings
 
}
 
更简单的方法就是利用read命令的-t选项
 
read -t 10 varname

你可能感兴趣的:(linux,命令,C语言,终端)