linux -/dev/tty 和 stdin/stdout/stderr 是什么关系?

标签 linux stdout stdin stderr tty

我知道他们有不同的文件描述符,stdxx可以重定向。

int tty_fd = open("/dev/tty", O_RDWR);

那么,下面的代码有什么区别(stdxx 未重定向):

n = read(tty_fd, buf, sizeof(buf));
n = read(STDIN_FILENO, buf, sizeof(buf));

n = write(tty_fd, buf, sizeof(buf));
n = write(STDOUT_FILENO, buf, sizeof(buf));

stdxx 是否与指向/dev/tty 的链接相同?

最佳答案

除非没有重定向,否则“/dev/tty”将用于显示标准输出或标准错误。您可以有选择地将 stdout/stderr 输出到/dev/tty 以外的不同文件描述符。

关于linux -/dev/tty 和 stdin/stdout/stderr 是什么关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44426082/

相关文章:

linux - Windows 下 Keys 的随机数生成器 - 从 Linux 移植

父函数可以判断子项是否已写入标准输入吗?

linux - RPM + rpm安装(不按照SPEC创建目录)

linux - 删除 zsh 后 shell 中的 Ubuntu 服务器登录循环

python - 从辅助线程重定向标准输出(使用函数而不是类进行多线程?)

r - 在 R 中使用 "sink()"将写入从文件切换到标准输出

C: 如何从 HTTP 响应中正确提取二进制内容

c - 如何使 gets() 仅等待特定时间以获取来自 C 中 STDIN 的输入?

c - 代码没有打印出预期的输出,为什么?

linux - 如何使用一个命令编辑文件?