Linux - 标准输入(input)\输出(output)\错误(error) 详解

标准输入(input)\输出(output)\错误(error) 详解

 

本文地址: http://blog.csdn.net/caroline_wendy/article/details/23933299

 

输出包含两种类型: 一种是程序的运行结果(标准输出), 一种是状态和错误信息(标准错误).

标准输出(standard output)标准错误(standard error), 默认是连接至屏幕;

标准输入(standard input) 默认是连接至键盘;

可以使用IO重定向(redirection), 改变输入, 输出的发送位置;

 

1. 标准输出

标准输出重定向, 使用重定向操作符(">"), 把程序输出至文件, 默认是从文件头部重写写入;

可以使用"> test.txt",清空文本信息;

使用">>", 将文件添加至文本尾部;

 

2. 标准错误

标准错误重定向, 使用"2>", 进行输出, 由于文件流包含三种, 即"输入, 输出, 错误", 对应"0, 1, 2";

即">", 即等于"1>", 标准输出;

处理不想要的错误输出, 使用"2> /dev/null", 隐藏一个命令的错误信息.

 

同时显示输出和错误, 标准错误是后于标准输出产生, 即要先使用">", 再使用"2>&1", 命令:"xxxx > xxxx 2>&1";

也可以使用"&>", 直接输出标准输出和错误, 命令:"xxxx &> xxxx", 较新版bash提供.

 

如图:

Linux - 标准输入(input)\输出(output)\错误(error) 详解_第1张图片

 

3. 标准输入:

cat命令(ConcATenate), 本意是链接文件, cat xxxx[1] xxxx ... > xxxx[end];

1. 如果只使用第一个参数, 即把信息输出至屏幕, 可以输出短的文件, 不会换行;

2. 如果只使用cat, 则从键盘获取信息, 输出至屏幕;

3. 如果只使用最后一个参数, 即cat > xxxx, 即从键盘输入, 存储入文件;

4. 如果都使用, 则是连接文件, 把文件顺次连接, 并存入结尾文件;

5. 可以使用"<", 即"cat < xxxx", 则是重定向, 把输入的源, 变为文件, 和直接输入文件意义相同.

 

Linux - 标准输入(input)\输出(output)\错误(error) 详解_第2张图片

 

 

 

 

你可能感兴趣的:(Linux - 标准输入(input)\输出(output)\错误(error) 详解)