任何人都可以向我解释/ dev / tty的目的是什么

时间:2011-05-29 21:42:02

标签: linux unix

任何人都可以解释使用/ dev / tty

的目的或方法

3 个答案:

答案 0 :(得分:5)

您可以从POSIX spec开始。从那里,阅读一个过程的“控制终端”。

但仅举例来说...... / dev / tty就像“ssh”这样的命令可以读取你的密码,即使它的标准输入来自其他地方:

tar cf - . | ssh dest 'tar xf -'

如果ssh决定提示你输入密码,它会从/ dev / tty而不是stdin读取它。

从概念上讲,/ dev / tty是“键盘和文本终端”。或多或少。

答案 1 :(得分:1)

它允许程序连接到其“控制终端”,如果有的话,即使stdin,stdout和stderr已被重定向到它。常见的用途是向用户请求密码。

答案 2 :(得分:0)

如果stdin已设置为管道,则可以使用/ dev / tty模拟控制输入终端设备的读取。

例如:

echo ~/.profile ~/.bashrc | xargs sh -c 'vim "$@" </dev/tty' dummy_script_name
# :qa  # quit all files

请参阅:After doing grep and passing it to vim then quitting, why am I experiencing this weird console malfunctioning?