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
重定向输入
符号 < 将指定文件作为程序的标准输入。 例如,将一个文件作为程序的输入:
[root@localhost test]# command < file
这些只是一些常见的重定向操作,实际上还有其他更多的重定向符号和用法,可以根据具体需求进行使用。