gpt4 book ai didi

unix - 重定向在 unix 中是如何工作的

转载 作者:行者123 更新时间:2023-12-02 22:27:02 24 4
gpt4 key购买 nike

举个例子:我有一个名为 a.out 的可执行文件。这包含将一些文本打印到 printf 的 STDOUT cos 的二进制信息。所以当我给出 ./a.out 时,我在控制台 STDOUT 看到 printf 的输出

假设我在控制台中执行“./a.out > tempFile”。这是如何运作的?由于 a.out 中有 printf,理想情况下 i 除了要在 STDOUT 中打印的文本。重定向如何使用此文本以及为什么我们在控制台中看不到任何输出而只在文件中看到 printf 文本

最佳答案

在 UNIX 中,一切 都是文件。默认情况下,所有 stdout 都是(例如)/dev/tty 文件,它是连接到您的控制台/终端/窗口的设备驱动程序。输出只是发送到该文件(设备驱动程序),这导致它输出到您用于交互式 I/O 的任何内容。

a.out >xyzzy.txt 这样的命令所做的就是首先将程序的标准输出连接到该文件而不是 /dev/tty,因此输出显示在那里。

关于unix - 重定向在 unix 中是如何工作的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12812579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com