五、管道与重定向


重定向例子:

  date输出的结果存下

    date > date.txt

1.FD简介

  file descriptors,FD,文件描述符,文件句柄

  进程使用文件描述符来管理打开的文件。

  FD是访问文件的标识,即链接文件

    ·0是键盘只读

    ·1,2是终端 可以理解是屏幕

    ·3+是文件,可写可读

  0是输入,1是输出正确,2是输出错误

    正确输出:1> 等于 >  (即>是简写,表示输出并覆盖)

         1 >> 等于 >> (表示添加续写)

    错误输出:2> 和 2>>

           提示:用FD > 文件句柄的指令内容无输出文字,文件只能看见执行结果而无执行文字反馈。

      mkdir 4455 > date.txt

  &>: 将一个句柄的输出写入到另一个句柄的输入中

    ls /home/aabb &> all.txt

    yum install -y httpd & > /dev/null  (yum输出太长,这样就不需要看输出)

  <:输入FD:利用输出如重定向,把文件内容代替人为输入

    mail -s "test01" alice < word.txt

         程序  <  file

2.进程管道piping |

  管道命令可以将多条命令组合起来,一次性完成复杂的处理任务。

  语法: 命令1| 命令2| 命令3

3.管道tee

  通常配合|管道,作用是在|管道与|管道之间截流信息的管道,把输出保留文本。

  如:cat /etc/passwd | grep root | tee 123.txt | head -1

4.参数传递Xargs

  如cp,rm 等一些特殊命令不接受正常管道的信息,xargs可以解决转换。

  如:cat files.txt | rm -rfv 失败

    cat files.txt | xargs rm -rfv 成功