1.标准输入、标准输出和标准错误
描述 | 通道名称 | 编号 |
标准输入 | stdin | 0 |
标准输出 | stdout | 1 |
标准错误 | stderr | 2 |
2.重定向
重定向可以将通常发到终端上消息保存到指定的文件中,也可以将标准输出和标准错误丢弃,就不会显示到终端上或保存下来。只将标准输出重定向到文件上,不会阻止标准错误显示到终端上。当文件不存在时,则会创建文件;当文件存在时且文件中含有内容时,此时重定向会覆盖之前的内容。如果想丢弃掉不需要的消息,可重定向到/dev/null文件,以静默方式丢弃重定向到其自身的通道输出,并始终是空文件。重定向操作顺序很重要。
3.输出重定向操作符
用法 | 解释 |
>file | 将标准输出重定向以覆盖文件,标准错误显示到终端上 |
2>file | 将标准错误重定向以覆盖文件,标准输出显示到终端上 |
2>/dev/null | 将标准错误重定向到/dev/null,将它丢弃,标准输出显示到终端上 |
>>file | 将标准输出重定向以附加到文件,标准错误显示到终端 |
>file 2>&1 | 将标准输出和标准错误重定向以覆盖同一个文件 |
&>file | |
>>file 2>&1 | 将标准输出和标准错误重定向以附加到同一个文件 |
&>>file |
4.
4.管道
管道是将第一个命令的标准输出传输给下一个命令作为标准输入,用竖线(|)分割。当管道和重定向结合时,shell会首先设置整个管道,在管道之前使用了重定向,那么输出会进入此文件,不会进入管道作为输出传递给下一个命令。
5.tee命令
tee将标准输出复制,通过管道再粘贴作为标准输入传递给下一个命令。如果在管道末尾使用tee命令。则可以保存命令的最终输出并同时输出到终端上。