您的位置:首页 > 运维架构 > Linux

Linux初学实战之重定向标准 I/O 流

2017-03-05 10:48 239 查看
Linux shell 使用 3 种标准的 I/O 流,每种流都与一个文件描述符相关联:
1,stdout 是标准输出流,它显示来自命令的输出。它的文件描述符为 1。
2,stderr 是标准错误流,它显示来自命令的错误输出。它的文件描述符为 2。
3,stdin 是标准输入流,它为命令提供输入。它的文件描述符为 0。

学习中遇到方便的命令:
在vim 编辑时,命令行输入:sp source.c 打开多 vim 窗口
new a c file多窗口, shift + w + 上下箭头换多窗口vim,
:set nu  打开行号
dd 删除一行
行数+dd 剪切当前位置的数行内容,p 粘贴
:wqa  保持,退出,所有
输出重定向: “>>和>”,1 >>stdout.txt  输出追加到a.txt;1>stdout.txt
输出到stdout.txt覆盖原有内容,
输入重定向:“<

例子:

main.c

#include <stdio.h>
int main()
{
int price;
fprintf(stdout,"Please input a price value:");
scanf("%d",&price);
if(price == 0)
{
fprintf(stderr,"Price cannot equal to zero!\n");
return 1;
}else
{
fprintf(stdout,"The price value is normal.\n");
return 0;
}
}
编译 
gcc main.c -o main.out
执行: 
./main.out  1>stdout.txt  2>stderr.txt
输入不同值查看后查看stdout.txt和stderr.txt的值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux shell