📜  Linux 中的输入输出重定向(1)

📅  最后修改于: 2023-12-03 14:43:57.398000             🧑  作者: Mango

Linux 中的输入输出重定向

在 Linux 命令行中,输入输出重定向是一种非常常见的技术。它允许将命令的输入和输出从默认的设备(通常是终端)重定向到其他设备。这种技术特别适用于需要进行批量处理的任务,比如将命令输出写入文件,或者从文件中读取命令的输入。

输出重定向

最常见的重定向是输出重定向,它使用">"符号将命令的输出发送到指定的文件或设备。例如,要将列表 ls 命令的输出保存到名为 file.txt 的文件中,可以使用以下命令:

ls > file.txt

如果文件不存在,则会创建该文件并将命令的输出写入其中。如果文件已经存在,则会将该文件覆盖。要向文件追加而不是覆盖命令的输出,则可以使用">>"符号,例如:

ls >> file.txt

这将将命令的输出追加到 file.txt 中。

除了文件,还可以将命令的输出发送到其他设备。例如,可以将命令的输出重定向到 / dev / null 设备,这是一个特殊的设备,它不保存数据,而只是将它们丢弃:

ls > /dev/null

在执行某些命令时,它们可能会在终端上输出大量信息。在这种情况下,将其输出重定向到文件或其他设备可能会使你的命令行会话更清晰。

输入重定向

除了输出重定向,还有输入重定向,它使用"<"符号将文件的内容发送到命令的输入。例如,要通过 cat 命令显示文件file.txt的内容,可以使用以下命令:

cat < file.txt

在这个例子中,file.txt 的内容将被发送到 cat 命令的输入,而不是从终端读取。这对于需要使用文件内容来生成命令输出的命令特别有用。

管道

管道是另一种重定向技术,它使用"|"符号将命令的输出发送到另一个命令的输入。例如,要将列表 ls 命令的输出发送到 grep 命令中以过滤结果,可以使用以下命令:

ls | grep keyword

在这个例子中,ls 命令的输出将被发送到 grep 命令的输入中进行过滤。这使得通过组合多个命令来创建复杂的操作非常容易。

总结

在 Linux 命令行中,输入输出重定向和管道是非常强大的工具。通过使用它们,你可以在几秒钟内完成繁重的批量任务,使得将命令输出重定向到文件或其他设备非常容易。重定向可以更好地控制终端的输出,并使命令行会话更加清晰。