Linux学习之路

Linux / Unix示例中的输入输出重定向

2019-07-30  本文已影响0人  程序员will

Linux / Unix示例中的输入输出重定向

什么是重定向?

重定向是Linux中的一项功能,因此在执行命令时,您可以更改标准输入/输出设备。任何Linux命令的基本工作流程都是输入并提供输出。

通过重定向,可以更改上述标准输入/输出。

在本教程中,我们将学习 -

[TOC]

输出重定向

“> ”符号用于输出(stdout)重定向。

Linux / Unix中的重定向 - 揭秘!

例:

ls -al> listings

这里命令ls -al的输出被重定向到文件“listing”而不是你的屏幕。

Linux / Unix中的重定向 - 揭秘!

注意:在将命令输出重定向到文件时使用正确的文件名。如果存在具有相同名称的现有文件,则重定向命令将删除该文件的内容,然后可能会被覆盖。“

如果您不希望覆盖文件但想要向现有文件添加更多内容,则应使用“>> ”运算符。

Linux / Unix中的重定向 - 揭秘!

您可以将标准输出重定向到文件,还可以重定向到设备!

$ cat music.mp3> / dev / audio

cat命令读取文件music.mp3并将输出发送到作为音频设备的/ dev / audio。如果PC中的声音配置正确,此命令将播放music.mp3文件

输入重定向

“< ”符号用于输入(STDIN)重定向

Linux / Unix中的重定向 - 揭秘!

示例:Linux中的邮件程序可以帮助您从终端发送电子邮件。

您可以使用标准设备键盘键入电子邮件的内容。但是,如果要将文件附加到电子邮件,则可以使用以下格式的输入重定向运算符。

Mail -s“Subject”to-address <Filename

Linux / Unix中的重定向 - 揭秘!

这会将文件附加到电子邮件中,然后将其发送给收件人。

上面的例子很简单。让我们看看一些利用文件描述符的高级重定向技术。

文件描述符(FD)

在Linux / Unix中,一切都是文件。常规文件,目录,甚至设备都是文件。每个文件都有一个名为文件描述符(FD)的关联编号。

您的屏幕还有一个文件描述符。执行程序时,输出将被发送到屏幕的文件描述符,您可以在显示器上看到程序输出。如果输出发送到打印机的文件描述符,则程序输出将被打印。

错误重定向

无论何时在终端执行程序/命令,总共打开3个文件,即标准输入,标准输出,标准错误

Linux / Unix中的重定向 - 揭秘!

运行程序时,这些文件始终存在。如前所述,文件描述符与这些文件中的每一个相关联。

文件 文件描述符
标准输入STDIN 0
标准输出STDOUT 1
标准错误STDERR 2

默认情况下,错误流显示在屏幕上。错误重定向将错误路由到屏幕以外的文件。

为什么错误重定向?

错误重定向是Unix / Linux的一个非常流行的功能。

频繁的UNIX用户会认为许多命令会给你带来大量错误。

解决方案是将错误消息重定向到文件。

例1

$ myprogram 2> errorsfile

Linux / Unix中的重定向 - 揭秘!

上面我们正在执行一个名为myprogram的程序。

标准错误的文件描述符是2。

使用“2>”我们将错误输出重定向到名为“errorfile”的文件

因此,程序输出不会出错。

例2

这是另一个使用find语句的例子 -

find . -name'my *'2> error.log

使用“查找”命令,我们正在搜索“。” “name”以“my”开头的文件的当前目录

Linux / Unix中的重定向 - 揭秘!

示例3让我们看一个更复杂的例子,

服务器管理员经常列出目录并将错误和标准输出存储到文件中,以后可以处理。这是命令。

ls Documents ABC> dirlist 2>&1

这里,

Linux / Unix中的重定向

总结

上一篇下一篇

猜你喜欢

热点阅读