系统与管理命令--终端类命令
来源:互联网 发布:淘宝女装好店铺推荐 编辑:程序博客网 时间:2024/06/05 17:51
tty
显示当前用户终端的名字. 注意每一个单独的xterm 窗口都被算作一个不同的终端.
bash$ tty/dev/pts/1
stty
stty命令修改终端命令行的相关设置.
语法
stty (选项)(参数)
选项
-a: 以容易阅读的方式打印当前的所有配置.-g: 以stty可读方式打印当前的所有配置.
参数
终端设置:指定终端命令行的设置选项.
实例
# 在命令行下,禁止输出大写的方法:stty inclc # 开启stty -inclc # 关闭# 在命令行下禁止输出小写: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 # 恢复# 定时输入:timeout_read(){ timeout=$1 old_stty_settings=`stty -g` stty -icanon min 0 time 100 eval read varname stty "$old_stty_settings"}# 更简单的方法就是利用read命令的-t选项:read -t 10 varname
例:设置一个擦除字符.
#!/bin/bash#erase.sh: 在读取输入时使用"stty"来设置一个擦除字符.echo -n "What's your name? "read name # 试试使用退格键来删除输入的字符.echo "Your name is $name."stty erase '#' # 将"hashmark"(#)设置为退格字符.echo -n "what's your name? "read name # 使用#来删除最后键入的字符.echo "Your name is $name."stty erase '^?' # 警告:即使在脚本退出后,新的键入值还是保持着这个设置 #+可以使用stty erase '^#'进行恢复.exit 0
例:保护密码:关闭终端对于密码的echo.
#!/bin/bash# secret_pw.sh: 保护密码不被显示.echoecho -n "Enter password: "read passwdechoecho "Password is $passwd."echo && echo # 在一个"与列表"中产生两个换行.stty -echo # 关闭屏幕的echo.echo -n "Enter password: "read passwdechoecho "Password is $passwd."echostty echo # 回复屏幕的echo.exit 0
例:按键检测.
#!/bin/bash# keypress.sh: 检测用户按键("hot keys").echoold_tty_settings=$(stty -g) # 保持老的设置.stty -icanonkeypress=$(head -c1)# 或者使用$(dd bs=1 count=1 2>/dev/null)# head -c1 是数字1不是字母l. head -c1 ???echoecho "Key pressed was \"$keypress\" "echostty "$old_tty_settings" # 恢复原来的设置.exit 0
setterm
设置特定的终端属性. 这个命令将向它所在终端的 stdout 发送一个字符串, 这个字符串将修改终端的行为.
bash$ setterm -cursor offbash$bash$ setterm -cursor onbash$_
setterm命令可以放在脚本中用来修改写入到 stdout 上的文本的外观.
tset
显示或初始化终端设置. 可以把它看成一个功能比较弱的stty命令.
tset -rTerminal type is xterm-256color.
setserial
设置或者显示串口参数. 这个脚本只能被root用户来运行, 并且通常都在系统安装脚本中使用.
getty, agetty
一个终端的初始化过程通常都是使用getty或agetty来建立, 这样才能让用户登录. 这些命令并不用在用户的shell脚本中. 它们的行为与stty很相似.
mesg
mesg命令用于设置当前终端的写权限,即是否让其他用户向本终端发信息 . 将mesg设置y时,其他用户可利用write命令将信息直接显示在您的屏幕上.
i 当你正在编写文本文件的时候, 在文本中间突然来了一个莫名其妙的消息,你会觉得非常烦人. 在多用户的网络环境下, 如果你不想被打断, 那么你必须关闭其他用户对你终端的写权限.
语法
mesg (参数)
参数
y/n: y表示运行当前终端写信息,n表示禁止向当前终端写信息.
实例
root# mesg y # 允许系统用户将信息直接显示在你的屏幕上.root# mesg n # 不允许系统用户将信息直接显示在你的屏幕上.
wall
wall命令用于向系统当前所有打开的终端上输出信息 . 通过wall命令可将信息发送给每位同意接收公众信息的终端机用户,若不给予其信息内容,则wall命令会从标准输入设备读取数据,然后再把所得到的数据传送给所有终端机用户.(比如:当系统有问题的时候, 管理可以警告系统上的所有人暂时离开)
! 如果某个特定终端使用mesg来禁止了写权限, 那么wall将不会给它发消息.
语法
wall (参数)
参数
消息: 指定广播消息.
实例
root# wall this is a test lineBroadcast message from root (pts/1) (Fri Dec 20 11:36:51 2013):this is a test line
- 系统与管理命令--终端类命令
- 管理进程,服务,终端命令
- 系统与管理命令--信息与统计类
- linux系统各种终端命令
- Android系统终端命令大全
- 系统与管理命令--User和Group类
- 系统与管理命令(脚本分析)
- Mac OS 系统类Unix系统终端命令
- linux十个管理终端进程的命令
- Linux终端进程管理必备命令
- iOS SVN 使用终端命令管理代码
- 终端命令
- 终端命令
- 终端命令
- 终端命令
- 终端命令
- 终端命令
- 终端命令
- 【C#学习】Object基类
- 你用着单屏多任务系统,却想打造实时预警/分析中心
- ImportError: No module named setuptools 解决方案
- C语言实现正态分布或高斯分布
- hdu 1394 最小逆序数
- 系统与管理命令--终端类命令
- 博客园搬家到CSDN
- 深度学习——keras训练AutoEncoder模型
- 二进制表示-LintCode
- Matlab中plot函数参数解析
- 图论总结(8)最小生成树
- 学习Opencv2.4.9(三)---图像的基本运算
- 通过javascript获取HTML标签自定义属性
- [swift]读取svg图片为UIBezierPath,开心做动画