Linux基础之标准输入和输出

1.Linux提供了三种输入/输出通道给程序
标准输入(STDIN) - 缺省为键盘
 标准输出(STDOUT) - 默认为终端窗口

 标准错误(STDERR) - 默认为终端窗口

2.标准输出和标准错误能重定向到文件中:
命令   操作 文件名
 支持的操作包括:
 > 重定向标准输出到文件
 2> 重定向标准错误到文件
 &> 重定向所有的输出到文件
· 文件内容模式被覆盖. >> 用在追加.

3重定向输出给一个文件示例
· 作为非root用户这个命令生成输出和错误:
$ find /etc -name passwd
· 通常保存操作的输出和错误:
$ find /etc -name passwd > find.out
$ find /etc -name passwd 2> /dev/null
$ find /etc -name passwd > find.out 2> find.err

4.重定向标准输出给一个程序
· 管道(| 字符) 可以连接命令:
· command1 | command2
 发送command1 标准输出给command2 的标准输入而不
是终端屏幕.
 标准错误不会通过管道传递
· 通常用于组合多个命令处理功能
command1 | command2 | command3...

5.重定向标准标准输出给一个程序示例
· less: 一次显示输入的一页:
$ ls -l /etc | less
 输入可以通过/ 做查询
· mail: 通过邮件发送输入:
 echo "test email" | mail -s "test" user@example.com
· lpr : 发送输入到一台打印机
echo "test print" | lpr
echo "test print" | lpr -P printer_name


6.组合输出和错误
· 一些操作同时影响标准输出和标准错误
 &>: 重定向所有输出:
$ find /etc -name passwd &> find.all
2>&1: 重定向标准错误到标准输出
通过管道发送所有的输出非常有用

 find /etc -name passwd 2>&1 | less
(): 组合多个程序的标准输出
( cal 2007 ; cal 2008 ) | less

博客:https://kunnan.blog.csdn.net
原文地址:https://www.cnblogs.com/zhang_kun_nan/p/3636519.html