文章标签 » tty

linux中tty设备名的由来

tty是teletypewriter(电传打字机)的简称,电传打字机是一种老式的通信工具,类似于传真,它有一个用于输入的键盘和用于输出接收信息的纸带打印设备。当按下按键后,电传机会把对应的键码编码成电流脉冲发送给接收方。对方收到脉冲后解码,并将对应的字符打印到纸带上。

早期的一些计算机便使用电传机来做输入输出设备。用户通过电传机向计算机输入指令,并通过纸带打印计算机的反馈结果,这便是最原始的command line interface(命令行交互)。

unix系统会为所有设备在/dev目录下生成对应的文件,电传机便被命名为/dev/tty#(#代表数字序号)。虽然现在的计算机早已经不再使用电传机做IO设备,但是tty的命名依然沿用至今。

links:
http://www.linfo.org/teletype.html
http://baike.baidu.com/view/1773688.htm

shell中获取登录用户名

获取当前用户登录的终端号

lu@hualu-laptop:~$ tty|cut -d/ -f 3-
pts/2
lu@hualu-laptop:~$ ps |grep $$ |awk '{print $2}'
pts/2

如果大家都su到同一帐号下,$USER就不可信了,可以根据终端号查到真正的用户名

tty=`ps|grep $$|awk '{print $2}'`
user=`who|grep ${tty}|awk '{print $1}'`

参考:http://www.ixpub.net/thread-1460130-1-1.html

———–
post by gmail~