ls -la /dev/tty 显示输出:
crw-rw-rw- 1 root tty 5, 0 Dec 14 22:21 /dev/tty
Run Code Online (Sandbox Code Playgroud)
一开始c是什么意思?当我做类似的东西pwd > /dev/tty打印到标准输出.文件/ dev/tty包含什么?
lah*_*her 89
'c'表示它是一个角色设备.tty是表示当前进程的"控制终端"的特殊文件.
角色设备
Unix支持"设备文件",它们根本不是真正的文件,而是支持硬件设备的文件类访问点."字符"设备是逐字节接口的设备(与缓冲的IO相对).
TTY
/ dev/tty是一个特殊文件,表示当前进程的终端.所以,当你echo 1 > /dev/tty,你的消息('1')将出现在你的屏幕上.同样,当你cat /dev/tty,你的后续输入被复制(直到你按Ctrl-C).
/dev/tty不会"包含"任何东西,但你可以从中读取并写入它(为了它的价值).我不能想到它有用,但有类似的文件对简单的IO操作非常有用(例如/dev/ttyS0通常是你的串口)
该引用来自http://tldp.org/HOWTO/Text-Terminal-HOWTO-7.html#ss7.3:
/ dev/tty代表当前进程的控制终端(如果有).要找出哪些tty附加到哪些进程,请在shell提示符(命令行)中使用"ps -a"命令.看看"tty"专栏.对于您所在的shell进程,/ dev/tty是您正在使用的终端.在shell提示符下键入"tty"以查看它是什么(请参见手册第tt(1)页)./ dev/tty类似于实际终端设备名称的链接,以及C程序员的一些附加功能:请参见手册页tty(4).
这是手册页:http://linux.die.net/man/4/tty
Kei*_*son 10
/dev/tty是当前进程的控制终端(如果有)的同义词.正如jtl999所说,它是一个字符特殊文件; 这就是将c在ls -l输出装置.
man 4 tty或者man -s 4 tty应该给你更多的信息,或者你可以在这里在线阅读手册页.
顺便说一下,pwd > /dev/tty不一定要打印到shell的标准输出(尽管它是pwd命令的标准输出).如果shell的标准输出已被重定向到终端以外的其他内容,则/dev/tty仍然指向终端.
您也可以阅读/dev/tty,通常从键盘读取.
| 归档时间: |
|
| 查看次数: |
87538 次 |
| 最近记录: |