一、命令行shell的数据流定义:
名称 | 说明 | 编号 | 默认 |
STDOUT | 标准输出 | 0 | 键盘 |
STDIN | 标准输入 | 1 | 终端 |
STDERR | 标准错误 | 2 | 终端 |
命令通过STDIN接收参数和数据,通过STDOUT输出结果,通过STDERR输出错误。
二、管道和文件重定向
通过管道和重定向控制CU的数据流
类别 | 关键字 | 定义 | 例子 |
重定向 | > | 将STDOUT重定向到文件(覆盖) | echo “Hello World ” >outfile ls > outfile |
>> | 将STDOUT重定向到文件(追加) | echo “Hello World ” >>outfile date >>outfile | |
2> | 将STDERR重定向到文件(覆盖) | ls nothere 2>errout | |
2>&1 | 将STDERR与STDOUT结合 | ls nothere 2>&1 allout | |
< | 将STDIN重定向到文件(覆盖) | grep test < /etc/passwd | |
管道 |
| | 将一个命令的STDOUT作为另一个命令的STDIN | ls –l | grep test find / -user username | grep viedo |