重定向和管道

💡 原文中文,约2700字,阅读约需7分钟。
📝

内容提要

Linux 中的 init 进程创建了标准输入、输出和错误的文件描述符。程序可以通过重定向将输出和错误信息保存到文件,使用 /dev/null 丢弃输出。输入重定向和 Here Document 允许从文件或多行输入获取数据,管道则可以将一个命令的输出作为下一个命令的输入,并处理错误信息。

Q&A

Linux 中的 init 进程创建了哪些文件描述符?

init 进程创建了标准输入、标准输出和标准错误三个文件描述符。

如何在 Linux 中将命令的输出重定向到文件?

可以使用语法 cmd [1-n]> [文件] 将命令的输出重定向到指定文件。

什么是 Here Document,如何使用它?

Here Document 是一种特殊的重定向方式,可以用来将多行输入传递给命令,使用方式为 cmd << delimiter ... delimiter。

如何将标准错误和标准输出同时重定向到同一个文件?

可以使用语法 cmd > out.log 2>&1 将 stdout 和 stderr 同时重定向到 out.log 文件。

管道在 Linux 中的作用是什么?

管道可以将一个命令的标准输出作为下一个命令的标准输入,但无法处理标准错误。

如何使用 /dev/null 丢弃命令的输出?

可以使用命令 2> /dev/null 或者 > /dev/null 来丢弃标准输出或标准错误。

🏷️

标签

➡️

继续阅读