Shell输入输出重定向
在Linux中,每一个进程都有三个特殊的文件描述指针:标准输入(standard input,文件描述指针为0)、标准输出(standard output,文件描述指针为1)、标准错误输出(standard error,文件描述指针为2)。
这三个特殊的文件描述指针使进程在一般情况下接收标准输入终端的输入,同时由标准终端来显示输出,Linux同时也向使用者提供可以使用普通的文件或管道来取代这些标准输入输出设备。
在shell中,使用者可以利用“>”和“<”来进行输入输出重定向:
从文件输入 <file or 0<file
将标准输出重定向为文件 >file or 1>file
将标准错误重定向为文件 2>file copyright Linuxren.net
将标准输出追加到文件 >>file
将标准错误重定向为标准输入 2>&1
将第一个命令的输入作为第二个文件的输入 cmd1|cmd2
将第一个文件即作为标准输入也作为标准输出 <>file
关闭标准输入 0<&-
关闭标准输出 1>&-
关闭标准错误 2>&-
例如:
command>file:将命令的输出结果重定向到一个文件。
command>&file:将命令的标准错误输出一起重定向到一个文件。
command>>file:将标准输出的结果追加到文件中。
command>>&file:将标准输出和标准错误输出的结构都追加到文件中。
这三个特殊的文件描述指针使进程在一般情况下接收标准输入终端的输入,同时由标准终端来显示输出,Linux同时也向使用者提供可以使用普通的文件或管道来取代这些标准输入输出设备。
在shell中,使用者可以利用“>”和“<”来进行输入输出重定向:
从文件输入 <file or 0<file
将标准输出重定向为文件 >file or 1>file
将标准错误重定向为文件 2>file copyright Linuxren.net
将标准输出追加到文件 >>file
将标准错误重定向为标准输入 2>&1
将第一个命令的输入作为第二个文件的输入 cmd1|cmd2
将第一个文件即作为标准输入也作为标准输出 <>file
关闭标准输入 0<&-
关闭标准输出 1>&-
关闭标准错误 2>&-
例如:
command>file:将命令的输出结果重定向到一个文件。
command>&file:将命令的标准错误输出一起重定向到一个文件。
command>>file:将标准输出的结果追加到文件中。
command>>&file:将标准输出和标准错误输出的结构都追加到文件中。