>或1>     输出重定向:把前面输出的东西输入到后边的文件中,会清除文件原有内容

          例子:

           [root@pp data]# echo '123'>oldboy.txt 

           [root@pp data]# cat oldboy.txt 

           123

           [root@pp data]# echo 'pp'1>oldboy.txt    

           [root@pp data]# cat oldboy.txt 

           pp1

           [root@pp data]# echo 'pp' 1>oldboy.txt  

           [root@pp data]# cat oldboy.txt 

           pp

           [root@pp data]# cat >oldboy.txt 

           pp

           ^C

>>或1>>   追加输出重定向:把前面输出的东西追加到后边的文件尾部,不会清除文件原有内容

          例子:

          [root@pp data]# >oldboy.txt 

          [root@pp data]# echo '1 2 3' >>oldboy.txt 

          [root@pp data]# echo 'pp' >>oldboy.txt      

          [root@pp data]# cat oldboy.txt 

          1 2 3

          pp

          [root@pp data]# echo 'lc' 1>>oldboy.txt   

          [root@pp data]# cat oldboy.txt 

          1 2 3

          pp

          lc

<或0<     输入重定向:输入重定向用于改变命令的输入,后面指定输入内容,前面跟文件名

          例子:

          [root@pp data]# cat oldboy.txt 

          1 2 3 4 5 6

          [root@pp data]# cat <oldboy.txt 

          1 2 3 4 5 6

          [root@pp data]# cat oldboy.txt 

          pp

          [root@pp data]# echo '1 2 3 4 5 6'>oldboy.txt         

          [root@pp data]# cat oldboy.txt 

          1 2 3 4 5 6

          [root@pp data]# xargs -n 2 <oldboy.txt   (把文件oldboy.txt里面的内容输入给前面的xargs处理)

          1 2

          3 4

          5 6

          [root@pp data]# xargs -n 1 <oldboy.txt  

          1

          2

          3

          4

          5

          6

<<或0<<   追加输入重定向:后跟字符串,用来表示“输入结束”,也可以用ctrl+d来结束输入

          例子: 

          [root@pp data]# cat >>oldboy.txt 

          lc

          dpy

          ^C

          [root@pp data]# cat oldboy.txt 

          pp

          lc

          dpy

          [root@pp data]# cat >oldboy.txt <<EOF

          > oldboy

          > EOF

          [root@pp data]# cat oldboy.txt 

          oldboy

          [root@pp data]# cat >>oldboy.txt <<EOF

          > 111

          > 222

          > 333

          > EOF

          [root@pp data]# cat oldboy.txt 

          111

          222

          333

 

2>  错误重定向:把错误信息输入到后边的文件中,会删除文件原有内容

          例子:

          [root@pp data]# echo 'oldboy' >a.txt

          [root@pp data]# cat a.txt 

          oldboy

          [root@pp data]# echo 'oldboy' 1>a.txt

          [root@pp data]# cat a.txt 

          oldboy

          [root@pp data]# echo 'oldgirl' 1>a.txt 2>b.txt

          [root@pp data]# cat a.txt 

          oldgirl

          [root@pp data]# cat b.txt 

          [root@pp data]# cho 'oldgirl' 1>a.txt 2>b.txt (命令出错由2>收集,不收集在屏幕上显示)

          [root@pp data]# cat a.txt 

          [root@pp data]# cat b.txt 

          -bash: cho: command not found

2>>  错误追加重定向:把错误信息追加到后边的文件中,不会删除文件原有内容

          例子:

         [root@pp data]# echo pp 1>>a.txt 2>>a.txt 

         [root@pp data]# cat a.txt 

         pp

         [root@pp data]# cho pp 1>>a.txt 2>>a.txt  

         [root@pp data]# cat a.txt 

         pp

         -bash: cho: command not found 

         

         [root@pp data]# rm -f *

         [root@pp data]#  ls

         [root@pp data]# ls

         [root@pp data]# echo pp >a.txt 2>&1    (工作中通常会这么写)

         [root@pp data]# cat a.txt 

         pp

         [root@pp data]# cho pp >a.txt 2>&1 

         [root@pp data]# cat a.txt

         -bash: cho: command not found

 [root@pp data]# cho pp &>a.txt

         [root@pp data]# cat a.txt 

         -bash: cho: command not found

         [root@pp data]# echo pp &>a.txt  (&>正确的和错误的都放在a.txt里面)

         [root@pp data]# cat a.txt 

         pp

         [root@pp data]# echo pp &>>a.txt

         [root@pp data]# cho pp &>>a.txt 

         [root@pp data]# cat a.txt 

         pp

         pp

         -bash: cho: command not found

说明:

1、箭头的指向就是数据的流向

2、数字说明:

   (1)标准输入(stdin):代码为0,使用<或<<。数据流向从右向左。

   (2)标准正常输出(stdout):代码为1,使用>或>>。数据(正确的数据)流向从左向右。

   (3)标准错误输出(stderr):代码为2,使用2>或2>>。数据(错误的数据)流向从左向右

   (4)2>&1标准正常输出和标准错误输出一样,相当于跟屁虫,1放到哪,2就放到那