linux控制台下密码输入解决方案

在linux系统编过C语言程序的码农应该都知道,其和在windows编程是有很大的区别的,linux下没有许多在windows下常用的头文件,但也有许多windows下没有的头文件,对于初学者来说,是有一定的限制性的,就比如conio.h头文件,里面有许多的函数我们经常使用,因此,我们在windows下一个小系统时,常用的登录环节无法在linux下使用,今天,我就来帮大家解决这一问题。

1 #include<stdio.h>

2 char getch()

3 {

4     char c;

5     system("stty -echo");

6     system("stty -icanon");

7     c=getchar();

8     system("stty icanon");

9     system("stty echo");

10     return c;

11 }

12 void main()

13 {

14     int i;

15     char a[21];

16     char ch;

17     printf("请输入密码:");

18     for(i=0;i<20;i++)

19     {

20         ch=getch();

21         if(ch==‘\n‘)

22         {

23             a[i]=‘\0‘;

24             break;

25         }

26         putchar(‘*‘);

27         a[i]=ch;

28     }

29     if(i==20)

30         a[20]=‘\0‘;

31     printf("%s\n",a);

32 }

时间: 2024-11-05 15:52:31

linux控制台下密码输入解决方案的相关文章

zhuan Linux控制台下的快捷键

Linux控制台(文本模式)下提高工作效率的快捷键 在Linux环境里,有一些按键有特殊的含意.# Ctrl-U: 擦除一行光标前面的部分.# Ctrl-H: 擦除光标前面的一个字符.# Ctrl-D: 终止输入.(退出 shell,如果您正在使用 shell 的话).# Ctrl-C: 终止当前正在运行的程序.# Ctrl-Z: 暂停程序. &'')# Ctrl-S: 停止向屏幕输出. # Ctrl-Q: 重新激活向屏幕输出. 默认的 shell,`bash’, 有历史编辑和 tab 补齐功能

Linux控制台下的快捷键

Linux控制台(文本模式)下提高工作效率的快捷键 在Linux环境里,有一些按键有特殊的含意.# Ctrl-U: 擦除一行光标前面的部分.# Ctrl-H: 擦除光标前面的一个字符.# Ctrl-D: 终止输入.(退出 shell,如果您正在使用 shell 的话).# Ctrl-C: 终止当前正在运行的程序.# Ctrl-Z: 暂停程序. &'')# Ctrl-S: 停止向屏幕输出. # Ctrl-Q: 重新激活向屏幕输出. 默认的 shell,`bash’, 有历史编辑和 tab 补齐功能

Linux mysql忘记密码的解决方案

1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改MySQL的信息.可以采用将MySQL对 外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全 状态.最安全的状态是到服务器的Console上面操作,并且拔掉网线. 2.修改MySQL的登录设置: # vi /etc/my.cnf 在[mysqld]的段中加上一句:sk

Linux 控制台下串口的基本操作

显示串口波特率等信息: stty -F /dev/ttyTHS2 -a  #dev/ttyTHS2为选择的端口号 参数设置: stty -F /dev/ ttyTHS2 ispeed 115200 ospeed 115200 cs8 配置波特率115200数据8bit,一般情况下设置这两个参数就可以了,如果显示数据乱码,可能还需要设置其它参数,使用man查看stty其它设置选项. 发送串口数据: echo 123> /dev/ttyTHS2 读取串口数据: cat /dev/ttyTHS2 读取

sshpass 使Linux可以明文参数输入SSH密码

1. sshpass安装1 2. sshpass的参数1 3. sshpass的使用2 这几天配置一台服务器,在某云平台创建云服务器后,生成了巨长.巨复杂的一串密码,在输入几十次密码后,依然是密码错误.这时候就想如果密码是非交互式输入,可以将密码做为参数或从文件输入就太好了.sshpass就是一款密码输入辅助工具,它可以从命令行明文参数.文件或环境变量中指定密码,从而避免交互式密码输入. l sshpass的安装 l sshpass的参数 l sshpass的使用 1. sshpass安装 首先

Linux下LDAP统一认证解决方案

Linux下LDAP统一认证解决方案 --http://www.cangfengzhe.com/wangluoanquan/3.html 企业内部需要认证的服务很多,员工需要记住很多的密码, 即使对这些服务进行相同的密码设置,也存在很大的安全隐患.笔者目前工作的企业就是如此,每一个新员工的到来管理员都要初始化很多密码,而这些密码都被设置成了“888888”等弱密码,由于各种软件的认证机制之间没有使用一个统一的标准,员工无法一次性修改所有服务的密码,这导致很多即使是入职很久的员工都还在使用这个“众

Linux平台下Java_Android开发环境的搭建

Linux 平台下安装JDK .Eclipse .Android SDK 说明 开发工具需自行去下载,此处就不再累述 该教程安装环境为 Ubuntu 14.04 x64 其他Linux操作方式基本相同 设计文件修改部分,请先备份要修改的文件,避免操作失误导致不能还原 Liunx 平台下区分大小写,输入文件名或路径建议复制避免不必要的错误 部分操作涉及root权限,为了避免麻烦 请直接使用 root权限操作 开启root权限: 1. sudo su root 2. 后面的提示中输入用户密码 安装

[添加用户]解决useradd 用户后没有添加用户Home目录的情况,Linux改变文件或目录的访问权限命令,linux修改用户密码,usermod的ysuum安装包。飞

usermod的yum安装包: shadow-utils 将nobody用户添加到nogroup 组: usermod -g nogroup nobody cat /etc/passwd|grep nobody nobody:x:65534:65534:nobody:/var/lib/nobody:/bin/bash 第3个字段是65534:意思就是,UID(用户的ID)是500. 第4个字段是65534:意思就是.GID(用户的组ID)的500. 使用usermod -g nogroup no

在linux平台下,设置core dump文件属性(位置,大小,文件名等)

在linux平台下,设置core dump文件生成的方法: 1) 在终端中输入ulimit -c 如果结果为0,说明当程序崩溃时,系统并不能生成core dump. 2) 使用ulimit -c unlimited命令,开启core dump功能,并且不限制生成core dump文件的大小.如果需要限制,加数字限制即可.ulimit - c 1024 3) 默认情况下,core dump生成的文件名为core,而且就在程序当前目录下.新的core会覆盖已存在的core.通过修改/proc/sys