一:基础知识。
1:linux下的所有操作都是与文件相关的(stdout/stderr/stdcin都是特殊的文件),所以I/O重定向是与FD紧密相关的。
2:shell的FD为10个(0 - 9),常用FD有:0(stdcin),1(stdcout),2(stderr)。
3:<:指定input,>:指定output。
4:<的默认值为0,>默认值是1,因此< 与 0<,>与 1>是等价的。
5:n>&m:重定向FD n到FD m。eg. 2>&1把stderr重定向到stdout。
6:I/O重定向中,stdout和stderr管道先于stdcin准备好。
二:例子。
1:cmd > file:把stdout重定向到file中去。
2:cmd >> file:把stdout追加到file中去。
3:cmd >& file:把stdout和stderr重定向到file中去。
4:cmd > file 2>&1:把stdout和stderr重定向到file中去。
5:cmd 2> file:把stderr追加到file中去。
6:cmd < file >file2:cmd以file为input,file2为output。
1:linux下的所有操作都是与文件相关的(stdout/stderr/stdcin都是特殊的文件),所以I/O重定向是与FD紧密相关的。
2:shell的FD为10个(0 - 9),常用FD有:0(stdcin),1(stdcout),2(stderr)。
3:<:指定input,>:指定output。
4:<的默认值为0,>默认值是1,因此< 与 0<,>与 1>是等价的。
5:n>&m:重定向FD n到FD m。eg. 2>&1把stderr重定向到stdout。
6:I/O重定向中,stdout和stderr管道先于stdcin准备好。
二:例子。
1:cmd > file:把stdout重定向到file中去。
2:cmd >> file:把stdout追加到file中去。
3:cmd >& file:把stdout和stderr重定向到file中去。
4:cmd > file 2>&1:把stdout和stderr重定向到file中去。
5:cmd 2> file:把stderr追加到file中去。
6:cmd < file >file2:cmd以file为input,file2为output。
本文介绍了Linux下I/O重定向的基本概念,包括标准输入输出和错误输出的使用方法,并通过多个实例展示了如何利用重定向进行文件输入输出及错误处理。
1153

被折叠的 条评论
为什么被折叠?



