使用管道能够很方便的实现一个程序的输出作为另外一个程序的输入。管道符号为‘|‘,用法:
COMMEND | COMMEND | COMMEND| ......
示例:
kdyzm@kdyzm:~$ echo "abcdefg" | tr [:lower:] [:upper:] ABCDEFG kdyzm@kdyzm:~$ more /etc/passwd | grep ‘kdyzm‘ kdyzm:x:1000:1000:kdyzm,,,:/home/kdyzm:/bin/bash kdyzm@kdyzm:~$
在线文档:http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_07
英文名称 中文名称 文件描述符 STDIN 标准输入 0 STDOUT 标准输出 1 STDERR 标准错误输出 2
< :输入重定向(Redirecting Input) << :此处文档(Here-Document)
(1). 输入重定向
kdyzm@kdyzm:~$ tr [:lower:] [:upper:] < /etc/passwd
(2). 此处文档
kdyzm@kdyzm:~$ tr [:lower:] [:upper:] << EOF > nihao > hello > world > EOF NIHAO HELLO WORLD kdyzm@kdyzm:~$
> :覆盖输出重定向 >> :追加输出重定向 &> :重定向错误输出和标准输出到同一个文件 2> :错误输出重定向(覆盖) 2>> :错误输出重定向(追加) |> :在设置了set -C的情况下仍然允许使用覆盖输出重定向
说明:
默认情况下允许覆盖输出重定向,但是很明显有安全性问题,所以可以使用“开关”进行控制
set -C :使用输出重定向的时候,如果文件已经存在,则不允许使用覆盖输出重定向(>) set +C :关闭上述功能
如果在设置了set -C的情况下还想要使用覆盖输出重定向,那么使用|>即可。
tee
示例:
tee /tmp/temp.txt
本文出自 “狂盗一枝梅的博客” 博客,请务必保留此出处http://kdyzm.blog.51cto.com/8316029/1740150
原文地址:http://kdyzm.blog.51cto.com/8316029/1740150