disp是英文display的缩写,意为“参数显示”。
在安平等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计、成都网站建设 网站设计制作按需网站制作,公司网站建设,企业网站建设,品牌网站设计,全网营销推广,外贸网站制作,安平网站建设费用合理。
通常disp按钮位于方向盘上。操作者通过按压disp按键,可以调动车辆的里程数、油耗记录、油量存余、续航剩余里程数等等信息。
通过按压disp按钮,相关参数会在仪表的液晶显示屏里滚动显示。
1.1 产品简介
随着Internet(因特网)的高速发展,人们对通信的需求已逐渐从传统的电话、传真、电报等低速业务向高速的Internet接入、可视电话、视频点播等宽带业务领域延伸,用户对上网速率的需求也越来越高。在这种需求条件下,以太网接入因其成本低、速度高、使用简单而倍受市场的关注。面对宽带网络建设的迅猛发展,华为公司根据不同的客户类型需求,推出了Quidway系列以太网交换机。
Quidway S2008B/Quidway S2016B/Quidway S2026B以太网交换机是华为公司自主开发的三款二层线速以太网交换产品,它除了能提供传统以太网的功能外,还针对楼道级交换机的特点,从软件、硬件及结构造型等方面进行了优化设计,因而特别适合于以太网宽带接入的要求。
Quidway S2008B/Quidway S2016B以太网交换机均为44mm高的盒式设备,可以壁挂安装。S2008B以太网交换机提供8个固定的10/100Base-TX自适应端口,S2016B以太网交换机提供16个固定的10/100Base-TX自适应端口,此外两者都提供1个10/100Base-TX自适应上行端口及1个用于配置的Console口。另外S2016B以太网交换机还提供1个扩展模块插槽,可选插100Base-FX多模光纤接口模块或100Base-FX单模光纤接口模块。
Quidway S2026B以太网交换机为42mm高的盒式设备,可以壁挂安装,也可以通过19英寸机架安装。Quidway S2026B以太网交换机提供24个固定的10/100Base-TX自适应端口、1个100Base-TX上行端口(实际为1个100Base-TX上行端口复用为1个MDIX端口和1个MDI端口,同时只能有1个端口工作)、1个用于配置的Console口和1个扩展模块插槽,可选插100Base-FX多模光纤接口模块或100Base-FX单模光纤接口模块。
Quidway S2008B/Quidway S2016B/Quidway S2026B以太网交换机支持:
l 宽带小区以太网接入
l 企业网和园区网组网
l 组播服务,支持组播音频/视频服务
在本手册中,Quidway S2008B/Quidway S2016B/Quidway S2026B以太网交换机简称为S2000B系列以太网交换机。
1.2 功能特性列表
表1-1 功能特性列表
业务
实现
线速二层交换
所有端口支持线速转发
交换容量:1.8Gbps/3.6Gbps/5.2Gbps(S2008B/S2016B/S2026B)
包转发率:1.3Mpps/2.6Mpps/3.9Mpps(S2008B/S2016B/S2026B)
交换模式
存储转发模式(Store and Forward)
VLAN(Virtual Local Area Network)
最多支持32个基于端口的VLAN
QoS(Quality of Service)
按端口设置转发优先级,支持2个优先级设置
端口汇聚
S2016B支持Ethernet0/15和Ethernet0/16两个端口的汇聚
S2026B支持Ethernet0/23和Ethernet0/24两个端口的汇聚
端口镜像
支持基于端口的镜像,将特定端口的流量全部复制到监控端口
MAC地址表
地址自学习
地址表规格:
最多支持4K个单播MAC地址,2个组播MAC地址(HGMP启动后将占用ID为0的组播地址,如果该地址已存在,则会被覆盖)
流控
支持IEEE 802.3x流控(全双工)
支持背压式流控(半双工)
加载与升级
支持通过串口以XModem协议实现加载升级
支持通过华为组管理协议HGMP(Huawei Group Management Protocol)实现远程加载升级
管理
支持命令行接口CLI(Command Line Interface)配置
支持通过Console口配置
支持HGMP Client
维护
支持状态查询信息输出
支持通过HGMP进行远程维护
支持上行端口远端馈电(仅限于S2008B/S2016B直流设备)
第2章 登录以太网交换机
2.1 命令行接口
S2000B系列以太网交换机向用户提供一系列的配置命令以及命令行接口,以方便用户配置和管理。命令行接口有如下特性:
l 通过Console口进行本地配置。
l 通过HGMP进行远程配置。
l 配置命令分级保护,确保未授权用户无法侵入交换机。
l 用户可以随时键入“?”以获得在线帮助。
l 提供种类丰富、内容详尽的调试信息,帮助诊断网络故障。
l 提供类似Doskey的功能,可以执行某条历史命令。
l 命令行解释器对关键字采取不完全匹配的搜索方法,用户只需键入无冲突关键字即可解释,如display命令,键入disp即可。
2.1.1 命令行视图
S2000B系列以太网交换机的命令行视图是针对不同的配置要求实现的,它们之间有联系又有区别,比如,与S2000B系列建立连接即进入用户视图,它只完成查看运行状态和统计信息的简单功能,再键入system-view进入系统视图,在系统视图下,可以键入不同的命令进入相应的视图。
命令行提供如下视图:
l 用户视图
l 系统视图
l 用户界面视图
l VLAN视图
l 以太网端口视图
视图关系简图如图2-1所示:
图2-1 视图关系简图
各命令视图的功能特性、进入各视图的命令等细则如表2-1所示。
表2-1 命令视图功能特性列表
视图
功能
提示符
进入命令
退出命令
用户视图
查看交换机的简单运行状态和统计信息
查看交换机的全部运行状态和统计信息,进行文件管理和系统管理
Quidway
与交换机建立连接即进入
quit断开与交换机连接
系统视图
配置系统参数
[Quidway]
在用户视图下键入system-view
quit返回用户视图
return返回用户视图
以太网端口视图
配置以太网端口参数
[Quidway-Ethernet0/1]
固定以太网端口视图:在系统视图下键入interface ethernet0/1
quit返回系统视图
return返回用户视图
[Quidway-Ethernet1/1]
扩展百兆以太网端口视图:在系统视图下键入interface ethernet 1/1
VLAN视图
配置VLAN参数
[Quidway-vlan1]
在系统视图下键入vlan 1
quit返回系统视图
return返回用户视图
用户界面视图
配置用户界面参数
[Quidway-ui-aux0]
在系统视图下键入user-interface aux
quit返回系统视图
return返回用户视图
2.1.2 设置用户分级保护密码
为了防止未授权用户的非法侵入,S2000B系列以太网交换机将用户分为两个级别:参观级别和监控级别。从串口登录上以太网交换机后就只见进入参观用户,仅能执行简单的查询操作;监控级别的用户则可以执行监控、配置、管理等操作。
在使用super命令从参观级别用户切换到监控级别用户时,要进行用户身份验证,即需要输入切换口令(如果用户已经使用命令super password password设置了切换口令)。为了保密,用户在屏幕上看不到所键入的口令,如果三次以内输入正确的口令,则切换到监控级别用户,否则保持原用户级别不变。
请在系统视图下进行下列配置。
表2-2 设置用户分级保护密码,操作,命令
切换用户级别至监控级
super
设置切换用户级别密码
super password password
取消切换用户级别密码
undo super password
命令中的参数含义如下:
password:明文字符串,取值范围为1~16个字符。
说明:
(1) 密码区分大小写。
(2) 如果用户丢失了super密码,请与代理商联系。
例:在系统视图下设置切换用户级别密码为Quidway。
Quidway super
Quidway system-view
[Quidway] super password Quidway
2.1.3 设置终端屏幕一屏显示的行数
当某命令显示信息的行数多于一屏能够显示的范围时,可以使用以下命令设置用户终端上屏幕一屏显示的行数,以便将信息分成几段,方便查看。
请在用户界面视图下进行下列配置。
表2-3 设置终端屏幕行数,操作,命令
设置用户终端上屏幕一屏显示的行数
screen-length screen-length
恢复用户终端上屏幕一屏显示的行数为缺省值
undo screen-length
命令中的参数含义如下:
screen-length:用户终端一屏显示的行数,取值范围为0~512。
缺省情况下,用户终端屏幕一屏显示25行。
说明:
screen-length 0表示关闭分屏功能。
例:将终端线的屏幕一屏显示行数设置为30。
[Quidway] user-interface aux
[Quidway-ui-aux0] screen-length 30
2.1.4 命令行在线帮助
命令行接口提供如下几种在线帮助:
l 完全帮助
l 部分帮助
通过上述各种在线帮助能够获得帮助信息,分别描述如下:
(1) 在任一视图下,键入?获取该视图下所有的命令及其简单描述。
Quidway ?
Monitor view commands:
debugging Enable system debugging functions
display Display running system information
quit Exit from current command view
reboot Reset slot
reset Reset all ethernet interfaces counter information
save Save current configuration
super Enter the monitor view with specified priority level
system-view Enter the system view
undo Cancel current setting
(2) 键入一命令,后接以空格分隔的“?”,如果该位置为关键字,则列出全部关键字及其简单描述。
Quidwaydisplay ?
current-configuration Current configuration
diagnostic-information System information for diagnosis
hgmp Hgmp information
interface Interface status and configuration information
link-aggregation Ports aggregation mode
mac-address Configure MAC address
memory Display mem info
monitor Display the monitor port
qos-info Display Qos information
saved-configuration The saved configuration information
version System hardware and software version information
vlan Vlan configuration information
(3) 键入一字符串,其后紧接?,列出以该字符串开头的所有命令。
Quidwaydebugg?
Monitor view commands:
debugging Enable system debugging functions
(4) 键入一命令,后接一字符串紧接?,列出命令以该字符串开头的所有关键字。
Quidway display ver?
version System hardware and software version information
(5) 输入一命令的前面几个字母,键入Tab键则会将该命令的字符串补全。
Quidway disTab
Quidway display
说明:
如果以输入的字母打头的命令不唯一,则无法联想出命令。
2.1.5 命令行错误信息
所有用户键入的命令,如果通过语法检查,则正确执行,否则向用户报告错误信息,常见错误信息参见表2-4。
表2-4 命令行常见错误信息表,英文错误信息.错误原因
Unrecognized command
没有查找到命令
没有查找到关键字
参数类型错
参数值越界
Incomplete command
输入命令不完整
Too many parameters
输入参数太多
Ambiguous command
输入参数不明确
2.1.6 历史命令
命令行接口提供类似Doskey功能,将用户键入的历史命令自动保存,用户可以随时调用命令行接口保存的历史命令,并重复执行。命令行接口为每个用户最多可以保存10条历史命令。操作如表2-5所示。
表2-5 访问历史命令,操作,按键,结果
访问上一条历史命令上光标键
如果还有更早的历史命令,则取出上一条历史命令。
访问下一条历史命令下光标键
如果还有更晚的历史命令,则取出下一条历史命令。 说明:
用光标键对历史命令进行访问,在Windows 3.X的Terminal下是有效的,但对于Windows 9X的超级终端,↑、↓光标键无效,这是由于Windows 9X的超级终端对这两个键作了不同解释所致,这时可以用组合键Ctrl+P和Ctrl+N来代替↑、↓光标键达到同样目的。
2.1.7 编辑特性
命令行接口提供了基本的命令编辑功能,支持多行编辑,每条命令的最大长度为256个字符,如表2-6所示。
表2-6 编辑功能表按键功能,普通按键
若编辑缓冲区未满,则插入到当前光标位置,并向右移动光标。
退格键Backspace
删除光标位置的前一个字符,光标前移。
2.1.8 显示特性
在一次显示信息超过一屏时,提供了暂停功能,这时用户可以有两种选择,如表2-7所示。
表2-7 显示功能表按键或命令功能
暂停显示时键入Ctrl+C
退出显示
暂停显示时键入除Ctrl+C外的其他键
继续显示下一屏信息
2.2 通过Console口搭建配置环境
2.2.1 配置环境搭建
第一步:如图2-2所示,建立本地配置环境,只需将微机(或终端)的串口通过配置电缆与以太网交换机的Console口连接。
第二步:在微机上运行终端仿真程序(如Windows 3.X的Terminal或Windows 9X的超级终端等),设置终端通信参数为波特率9600bit/s、8位数据位、1位停止位、无校验和无流控,并选择终端类型为VT100,
第三步:终端上显示以太网交换机自检信息,自检结束后提示用户键入回车,直到出现命令行提示符(如Quidway)。
第四步:键入命令,配置或查看以太网交换机的运行状态,需要帮助可以随时键入“?”,关于具体的命令请参考以后各章节。
2.2.2 配置Console口传输速率
当通过Console口访问S2000B系列以太网交换机时,用户可以使用以下命令配置Console口的传输速率。
请在用户界面视图下进行下列配置。
Console口传输速率
配置Console口传输速率
speed speed-value
恢复Console口的传输速率为缺省值
undo speed
命令中的参数含义如下:
speed-value:Console口的传输速率值,支持的传输速率为:9600bit/s、115200bit/s。
缺省情况下,Console口的传输速率为9600bit/s。
例:配置Console口的传输速率为9600bit/s。
[Quidway] user-interface aux
[Quidway-ui-aux0] speed 9600
2.3 通过HGMP搭建配置环境 说明:
S2000B系列以太网交换机可以采用该方式进行远程配置和维护管理。
2.3.1 HGMP协议简介
华为组管理协议HGMP(Huawei Group Management Protocol)实现对设备的集中管理。目前HGMP有两个版本:V1和V2,S2000B系列支持HGMP V1。HGMP V1分为HGMP Server和HGMP Client。HGMP Server在管理设备上实现,主要是提供人机命令输入接口,控制维护命令的显示,同时提供一定的数据结构以存储其下挂的多台以太网交换机的相关信息。HGMP Client则主要要求根据管理设备下发的维护和查询命令作出相应的处理,同时保证与管理设备之间的通信。S2000B系列作为HGMP Client,接受管理设备的管理和维护。
通过管理设备维护和管理S2000B系列的过程可以参见管理设备(例如S3000系列以太网交换机)的用户手册中HGMP Server配置的描述。
2.3.2 配置环境搭建5555
2.3.3 HGMP协议配置.
注意:
S2000B系列以太网交换机作为HGMP Client时,必须要通过固定的上行端口与管理设备相连。
对于S2008B,这些上行端口包括Ethernet0/8、Ethernet0/9。
对于S2016B,这些上行端口包括Ethernet0/15、Ethernet0/16、Ethernet0/17、Ethernet1/1。
对于S2026B,这些上行端口包括Ethernet0/23、Ethernet0/24、Ethernet0/25、Ethernet1/1。
必须先启动HGMP,才可以通过HGMP协议对S2000B系列以太网交换机进行配置。
可以使用下面的命令在S2000B系列以太网交换机上启动HGMP Client。
请在系统视图下进行下列配置。
开启HGMP
hgmp enable
关闭HGMP
hgmp disable
使用命令hgmp enable将开启HGMP协议,需要重启交换机后才能生效,hgmp disable命令亦然。在HGMP协议开启的情况下,shutdown命令在交换机与管理设备相连的上行端口上无效(即在上行端口上使用shutdown命令后此端口会自动被HGMP协议重新开启)。
HGMP启动后将占用ID为0的组播地址(若该地址已存在,则被覆盖),此时用户只能配置一个组播地址表项,具体配置组播地址的描述请参见本书6.1.3节。
需要注意的是,设备启动后的HGMP运行状态由上次的HGMP设置决定。在开启或关闭HGMP协议后,必须重新启动以太网交换机才能生效。
缺省情况下,HGMP是启动的,即必须通过HGMP Server对设备进行配置。如果想直接通过命令行进行配置,则必须使用hgmp disable命令关闭HGMP功能。
第3章 端口配置
3.1 以太网端口简介
S2008B以太网交换机提供8个固定的10/100Base-TX自适应端口,S2016B以太网交换机提供16个固定的10/100Base-TX自适应端口,此外两者都提供1个10/100Base-TX自适应上行端口及1个用于配置的Console口。S2026B以太网交换机提供24个固定的10/100Base-TX自适应端口,1个100Base-TX上行端口(实际为1个100Base-TX上行端口复用为1个MDIX端口和1个MDI端口,同时只能有1个端口工作)及1个用于配置的Console口。另外S2016B/S2026B以太网交换机还提供1个扩展模块插槽,可选插100Base-FX多模光纤接口模块或100Base-FX单模光纤接口模块。
S2000B系列以太网交换机支持的以太网端口特性如下:
l 10/100Base-TX以太网端口可以工作在半双工、全双工、自协商模式下。在自协商模式时支持MDI/MDIX自适应,并且能够与其他网络设备协商确定工作方式和速率,自动选择最合适的工作方式和速率,从而大大简化系统的配置和管理。
l 100Base-FX多模/单模以太网端口的速率及工作模式不需用户进行配置,速率均为100Mbit/s,工作在全双工模式下。100Base-FX多模以太网端口可以为用户提供1个百兆多模光端口;100Base-FX单模以太网端口可以为用户提供1个百兆单模光端口。
几种以太网端口的配置基本相同,下面一起介绍。注意:
(1) S2026B以太网交换机的100Base-TX上行端口不支持MDI/MDIX自适应,需要根据网线类型接相应的上行端口。
(2) 100Base-FX多模/单模以太网端口的工作模式由系统设置为100Mbit/s、全双工工作模式,不允许将工作模式设置成10Mbit/s或者半双工工作模式。
3.2 以太网端口配置
要配置以太网端口的相关特性参数,首先要进入以太网端口视图,然后对相关参数进行配置。
以太网端口配置包括:
l 进入以太网端口视图
l 打开/关闭以太网端口
l 设置以太网端口为自协商方式
l 设置以太网端口速率和双工状态
l 设置以太网端口的流量控制
3.2.1 进入以太网端口视图
要对以太网端口进行配置,首先要进入以太网端口视图。
请在系统视图下进行下列配置。
进入以太网端口视图
interface { interface_type interface_num | interface_name }
命令中的参数含义如下:
interface_type:端口类型,在S2000B系列以太网交换机中只有ethernet。
interface_num:端口号,采用槽位编号/端口编号的格式。S2008B以太网交换机的槽号只能取0,端口号取值范围为1~9。S2016B以太网交换机的槽号取值范围为0~1,槽号取0表示固定的以太网端口,端口号取值范围为1~17;槽号取1表示扩展的以太网百兆光口,端口号只能取1。S2026B以太网交换机的槽号取值范围为0~1,槽号取0表示固定的以太网端口,端口号取值范围为1~25;槽号取1表示扩展的以太网百兆光口,端口号只能取1。
interface_name:端口名,表示方法为端口类型+端口号(槽位编号/端口编号)。
例:进入Ethernet0/3以太网端口视图。
[Quidway] interface ethernet0/3
[Quidway-Ethernet0/3]
3.2.2 打开/关闭以太网端口
以太网交换机启动后,用户可以根据实际需要使用以下的命令打开或关闭以太网端口。当端口出现工作状态不正常时,可以使用shutdown命令将端口先关闭,之后再使用undo shutdown命令启动端口,这样有可能使端口恢复正常。
关闭以太网端口
shutdown
打开以太网端口
undo shutdown
省情况下,端口为打开状态。
例:关闭以太网端口Ethernet0/3后再打开该端口。
[Quidway-Ethernet0/3] shutdown
[Quidway-Ethernet0/3] undo shutdown
3.2.3 设置以太网端口为自协商方式
可以使用以下命令设置以太网端口为自协商方式。当以太网端口被设置为自协商方式后,端口的速率及双工状态均由本端口和对端端口双方自动协商而定。
设置以太网端口为自协商方式
negotiation-auto
需要注意的是,当以太网端口的速率和双工状态被设置后,自协商方式自动关闭。
例:将以太网端口Ethernet0/3设置为自协商方式。
[Quidway-Ethernet0/3] negotiation-auto
3.2.4 设置以太网端口速率和双工状态
可以使用以下命令对以太网端口的速率和双工状态进行设置。
设置以太网端口的速率
speed { 10 | 100 }
设置以太网端口的双工状态
duplex { full | half }
命令中的参数含义如下:
10:表示10Mbit/s速率。
100:表示100Mbit/s速率。
full:表示全双工状态。
half:表示半双工状态。
需要注意的是,
l 以太网端口的速率和双工状态必须同时设置才能生效,只设置其中一项将不会起作用。
l 10Base-T/100Base-TX以太网端口支持10Mbit/s、100Mbit/s两种速率,可以根据需要对其设置;100Base-FX多模/单模以太网端口的速率和工作模式由系统设置为100Mbit/s、全双工模式,用户不能对其进行设置。如果设置,则系统会给出提示“Can’t set the ports by the mode”。
l 汇聚端口不能设置双工、速率模式。
l 当希望在发送数据包的同时可以接收数据包,可以将端口设置为全双工状态;当希望端口在同一时刻只能发送或接收数据包时,可以将端口设置为半双工状态;当希望端口的双工状态由本端和对端协商而定的话,可以将端口设置为自协商方式,且不需进行本命令的设置。
缺省情况下,端口的速率为自协商方式,双工状态为自协商方式。
例:将以太网端口Ethernet0/1的速率设置为10Mbit/s,工作模式设置为全双工模式。
[Quidway-Ethernet0/1] speed 10
Please set the interface duplex mode,
Now it work in AUTO NEGOTIATION mode
[Quidway-Ethernet0/1] display interface ethernet0/1
Ethernet0/1 is down
Hardware is Fast Ethernet, Hardware address is 00e0-fc00-0010
auto_negotiation, 100_BASE_TX
Flow control is disable
The port belongs to these vlans:
Vlan 1
It is not a monitor port
It doesn’t belong to a port-aggregation
0 packets output
0 bytes, 0 multicasts, 0 broadcasts, 0 pauses
0 packets input
0 bytes, 0 multicasts, 0 broadcasts, 0 pauses
0 CRC errors
0 long frames
[Quidway-Ethernet0/1] duplex full
[Quidway-Ethernet0/1] display interface ethernet0/1
Ethernet0/1 is down
Hardware is Fast Ethernet, Hardware address is 00e0-fc00-0010
Full-duplex 10M 100_BASE_TX
Flow control is disable
The port belongs to these vlans:
Vlan 1
It is not a monitor port
It doesn’t belong to a port-aggregation
0 packets output
0 bytes, 0 multicasts, 0 broadcasts, 0 pauses
0 packets input
0 bytes, 0 multicasts, 0 broadcasts, 0 pauses
0 CRC errors
0 long frames
从以上配置和系统显示可以看出,当配置了速率后,系统提示“请配置双工模式,目前处于自协商状态”;查看端口信息也可以看到端口处于自协商状态;之后配置双工状态,再次查看端口信息,可以看到所配置的速率和双工状态已经起作用
Linux查看显卡信息:
[python] view plain copy
lspci | grep -i vga
使用nvidia GPU可以:
[python] view plain copy
lspci | grep -i nvidia
前边的序号 "00:0f.0"是显卡的代号(这里是用的虚拟机);
查看指定显卡的详细信息用以下指令:
[python] view plain copy
lspci -v -s 00:0f.0
Linux查看Nvidia显卡信息及使用情况
Nvidia自带一个命令行工具可以查看显存的使用情况:
[python] view plain copy
nvidia-smi
表头释义:
Fan:显示风扇转速,数值在0到100%之间,是计算机的期望转速,如果计算机不是通过风扇冷却或者风扇坏了,显示出来就是N/A;
Temp:显卡内部的温度,单位是摄氏度;
Perf:表征性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能;
Pwr:能耗表示;
Bus-Id:涉及GPU总线的相关信息;
Disp.A:是Display Active的意思,表示GPU的显示是否初始化;
Memory Usage:显存的使用率;
Volatile GPU-Util:浮动的GPU利用率;
Compute M:计算模式;
下边的Processes显示每块GPU上每个进程所使用的显存情况。
如果要周期性的输出显卡的使用情况,可以用watch指令实现:
[python] view plain copy
watch -n 10 nvidia-smi
命令行参数-n后边跟的是执行命令的周期,以s为单位。
xrandr(查看当前分辨率和所有分辨率选项)
然后再在出现的分辨率列表中,数一下你要设置的分辨率是第几行,比如我要设置1280*960,是在第七行
xrandr -s7
就这样,设置好了
关于xrandr的更多参数,大家可以man一下或者help都可以
#include stdio.h
#include termios.h
#include unistd.h
#include errno.h
#define ECHOFLAGS (ECHO | ECHOE | ECHOK | ECHONL)
//函数set_disp_mode用于控制是否开启输入回显功能
//如果option为0,则关闭回显,为1则打开回显
int set_disp_mode(int fd,int option)
{
int err;
struct termios term;
if(tcgetattr(fd,term)==-1){
perror("Cannot get the attribution of the terminal");
return 1;
}
if(option)
term.c_lflag|=ECHOFLAGS;
else
term.c_lflag =~ECHOFLAGS;
err=tcsetattr(fd,TCSAFLUSH,term);
if(err==-1 err==EINTR){
perror("Cannot set the attribution of the terminal");
return 1;
}
return 0;
}
//函数getpasswd用于获得用户输入的密码,并将其存储在指定的字符数组中
int getpasswd(char* passwd, int size)
{
int c;
int n = 0;
printf("Please Input password:");
do{
c=getchar();
if (c != '\n'|c!='\r'){
passwd[n++] = c;
}
}while(c != '\n' c !='\r' n (size - 1));
passwd[n] = '\0';
return n;
}
int main()
{
char *p,passwd[20],name[20];
printf("Please Input name:");
scanf("%s",name);
getchar();//将回车符屏蔽掉
//首先关闭输出回显,这样输入密码时就不会显示输入的字符信息
set_disp_mode(STDIN_FILENO,0);
//调用getpasswd函数获得用户输入的密码
getpasswd(passwd, sizeof(passwd));
p=passwd;
while(*p!='\n')
p++;
*p='\0';
printf("\nYour name is: %s",name);
printf("\nYour passwd is: %s\n", passwd);
printf("Press any key continue ...\n");
set_disp_mode(STDIN_FILENO,1);
getchar();
return 0;
}