重定向就是指将流重新分配至文件,或者将文件中的内容输出流。
假设现在程序已经生成了可执行文件 example
1 输入重定向
对于一般的可执行程序而言,如果需要输入数据一般是直接从键盘中获取,而使用输入重定向则可以直接从文件中获取出数据。
假设有文本文件data,需要对data文件使用example程序,只需要输入命令:
example < data
<符号是Unix、Linux的重定向运算符。对于一个可执行程序而言(如example),它并不会关心它的输入是从键盘或是文件读取,输出是输出到屏幕还是文件中,它仅关心输入流或是输出流。而重定向运算符会将(data)文件与流关联,将data文件的内容引至example程序。
2 输出重定向
如果要将example程序的输出内容重定向到data文件,则只要输入命令:
example > data
">" 符号是另一个重定向运算符,它可以将可执行程序的输出流从显示设备(屏幕)重定向输出到文件中。如果重定向输出的文件(如data)已经存在,通常会先将原文件删除,再重新写入内容。
3 组合重定向
1 重定向运算符不能将一个数据文件与另一个数据文件连接,也不能将一个可执行程序与另一个可执行程序相连接。如:
data1 > data2 (错)
example1 < example2 (错)
2 使用重定向运算符时,输入不能来自一个以上的文件,输出也不能重定向至一个以上的文件。如:
example < data1 < data2 (错)
example > data1 data2 (错)
4 输出内容重定向至日志文件
假设一个可执行程序中有许多的输出,需要将这些输出的内容保存到日志文件中,并且让这个程序在后台执行,屏幕中将不再显示输出打印的内容,执行如下命令:
./example > ./mylog.log &
---------如有侵权,联系删除!