Linux的重定向

发布时间:2023年12月20日

Linux中的重定向是将程序的输入流或输出流从默认的位置改变到指定的位置。可以使用特殊的符号来实现重定向操作。(文中command代表命令)

(1)重定向命令列表

命令? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 说明
command > file? ? ? ? ? ? ? 将输出重定向到 file
command < file? ? ? ? ? ? ? 将输入重定向到 file
command >> file? ? ? ? ? ? ?将输出以追加的方式重定向到 file
n > file? ? ? ? ? ? ? ? ? ? ? ? ? ? ?将文件描述符为 n 的文件重定向到 file
n >> file?? ?????????????????????????将文件描述符为 n 的文件以追加的方式重定向到 file
n >& m?? ?????????????????????????将输出文件 m 和 n 合并
n <& m? ? ? ? ? ? ? ? ? ? ? ????? ?将输入文件 m 和 n 合并
<< tag?? ?????????????????????????将开始标记 tag 和结束标记 tag 之间的内容作为输入


(2)文件描述符


0:通常是标准输入(STDIN)
1:是标准输出(STDOUT)
2:是标准错误输出(STDERR)

输出重定向:

? ? ? ?符号 > 将程序的标准输出重定向到指定位置,会覆盖原有内容。 例如,将程序的输出写入到一个文件中:

[root@localhost test]# command > file

符号 >> 将程序的标准输出追加到指定位置,不会覆盖原有内容。 例如,将程序的输出追加到一个文件中:

[root@localhost test]# command >> file

?符号 2>? 代表将程序的标准错误输出重定向到指定位置。 例如,将程序的错误输出写入到一个文件中:

[root@localhost test]# command 2>file

?符号? 2>> :将程序的标准错误输出追加到指定位置。 例如,将程序的错误输出追加到一个文件中:

[root@localhost test]# command 2>> file

& :将程序的标准输出和标准错误输出合并并重定向到指定位置。 例如,将程序的输出和错误输出合并并写入到一个文件中:

[root@localhost test]# command >& file

重定向输入

命令符号格式作用
命令 < 文件将指定文件作为命令的输入设备
命令 << 分界符表示从标准输入设备(键盘)中读入,直到遇到分界符才停止(读入的数据不包括分界符),这里的分界符其实就是自定义的字符串
命令 < 文件 1 > 文件 2?文件 1 作为命令的输入设备,该命令的执行结果输出到文件 2 中。
?

?

? ? ? ? 符号 <? 将指定文件作为程序的标准输入。 例如,将一个文件作为程序的输入:

[root@localhost test]# command < file

从标准输入设备(键盘)中读入,直到遇到分界符才停止(读入的数据不包括分界符)

[root@localhost test]# echo "66"<< *

这些只是一些常见的重定向操作,实际上还有其他更多的重定向符号和用法,可以根据具体需求进行使用。

文章来源:https://blog.csdn.net/m0_62645012/article/details/134960106
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。