从命令到 shell 的文本输出通过 stdout(标准输出)流传送。 来自命令的错误消息通过 stderr(标准错误)流发送。
什么是标准输出和标准错误?
在计算机编程中,标准流是计算机程序开始执行时与其环境之间互连的输入和输出通信通道。 三个输入/输出 (I/O) 连接称为 标准输入 (stdin)、标准输出 (stdout) 和标准错误 (stderr).
Linux 中的标准输出是什么?
标准输出,有时缩写为 stdout,是指 到由命令行程序生成的标准化数据流 (即,全文本模式程序)在 Linux 和其他类 Unix 操作系统中。 ... 在这种情况下,它告诉 file 命令将当前目录中的每个文件都视为一个参数。
什么是标准输出?
Stdout,也称为标准输出,是 进程可以在其中写入输出的默认文件描述符. 在 Linux、macOS X 和 BSD 等类 Unix 操作系统中,stdout 由 POSIX 标准定义。 它的默认文件描述符编号为 1。在终端中,标准输出默认为用户屏幕。
Linux 中的 stderr 命令是什么?
Stderr,也称为标准误差,是 进程可以在其中写入错误消息的默认文件描述符. 在 Linux、macOS X 和 BSD 等类 Unix 操作系统中,stderr 由 POSIX 标准定义。 ... 在终端中,标准错误默认为用户屏幕。
如何重定向标准错误?
要重定向 stderr,您有几个选择:
- 将 stdout 重定向到一个文件,将 stderr 重定向到另一个文件:command > out 2>error。
- 将 stdout 重定向到文件 ( >out ),然后将 stderr 重定向到 stdout ( 2>&1 ):命令 >out 2>&1。
标准输出是否包括标准错误?
如果我的理解是正确的,stdin 是程序写入其在进程中运行任务的请求的文件,stdout 是内核将其输出写入其中的文件以及请求它从中访问信息的进程,以及 stderr 是输入所有异常的文件.
如何在 Linux 中找到 stderr?
通常,STDOUT 和 STDERR 都会输出到您的终端。 但是可以重定向一个或两个。 例如,由 CGI 脚本发送到 STDERR 的数据通常会在 Web 服务器配置中指定的日志文件中结束。 程序可以在 linux 系统上获取有关 STDERR 的信息。
&在Linux中有什么用?
& 使命令在后台运行. 来自 man bash :如果命令被控制运算符 & 终止,shell 将在子 shell 的后台执行该命令。 shell 不等待命令完成,返回状态为 0。
标准输出在 Linux 中去哪儿了?
标准输出,在进程创建时创建, 转到控制台、您的终端或 X 终端. 输出的确切发送位置显然取决于流程的来源。 默认情况下,会将文件 [con]catenate 连接到我们的标准输出,即我们的控制台或终端屏幕。
printf 是否写入标准输出?
任何电话 的printf 将 打印到标准输出, while 调用 fprint while 打印 到指定的流。 在里面 例子 你给,第二个函数调用将 打印 到标准错误。 由于您正在打印一个空字符串,因此您不会在任一流上执行任何操作,因此您不会看到任何值得注意的事情发生。
你能写到标准输出吗?
当您承诺将输出发送到 stdout 时,您基本上是让用户来决定该输出的去向。 如果你使用 的printf(...) (或等效的 fprintf(stdout, ...) ),您将输出发送到 stdout ,但实际上最终的位置取决于我如何调用您的程序。
标准输出保存了吗?
标准输出只是 文件句柄 默认情况下连接到控制台,但可以重定向。