重定向,就是改变输出的方向; 标准输出:stdout,走1号窗口输出;都默认输出到屏幕; 错误输出:stderr,走2号窗口输出;都默认输出到屏幕; 0:表示输入,stdin;
>或>>,前边默认省略了1,就是标准输出,错误的不会输出; [root@web01 mclind]# echo 1 1> mclind.txt //输出信息到文件中; [root@web01 mclind]# ech 2 1>> mclind.txt //这个输出不会写入到文件中; [root@web01 mclind]# ech 3 2>> mclind.txt //这个错误输出会写入到文件中;
重定向符号: > 或 1> :标准输出重定向,会清空原文件,或者创建空文件; >> 或 1>> :标准输出追加重定向,直接写入文件末尾,不会清空文件; 2>:输出错误,会清空原文件,或者创建空文件; 2>>:标准错误输出追加重定向,直接写入文件末尾,不会清空文件; 2>&1 (>> file 2>> file,这种写法简单,但不用)(更简单的写法,&>>):无论对错,都追加保存; &>, 表示清空再保存; < 或 0< :标准输入重定向;这两个基本不用,需要特定命令搭配使用; << 或 0<<:标准输入追加重定向;这两个基本不用,需要特定命令搭配使用; [root@web01 mclind]# cat >mclnd.txt <<EOF > I > Love > Linx > EOF [root@web01 mclind]# cat <<EOF >mclnd.txt //效果和上面方法一样 > I > Love > Linx > EOF //其中EFO是结束标识,可以更换,但标识后边不要加东西,比如空格; //一般都是先写好,粘贴过来运行,批量操作可能用会; < : 输入重定向,很少用;xargs/tr 可以用; [root@web01 mclind]# seq 10 > mclind1.txt [root@web01 mclind]# cat mclind1.txt 1 2 3 4 5 6 7 8 9 10 [root@web01 mclind]# xargs -n2 < mclind1.txt 1 2 3 4 5 6 7 8 9 10 [root@web01 mclind]# xargs < mclind1.txt 1 2 3 4 5 6 7 8 9 10
重定向小结: > 1> >> 1>> 2>&1 这几个常用;
|