linux 重定向
目录:程序员成长之旅/Linux学习
linux中的重要机制 重定向
平时的输出对于linux 就是 输出流
同理 输入 就是输入流
还有一个是 错误流
上次所学的stdio.h 我们知道 其实 就是调用了 三个流 来达到 printf (fprintf(stdout,""))
scanf(fscanf(stdin,""))
并且默认的 输入流 靠键盘 输出流靠显示器的终端
那么 我们能不能不通过键盘输入 不通过 终端输出呢
答案是 当然可以 这时候就用到重定向了
语法
原命令 [流][模式][目标]
[流参数] 0输入 1输出(默认) 2错误
[模式参数] > 覆盖输出 >>追加输出 <输入
[目标参数] 可以使文件 也可以是命令 例如 test.txt grep
实例
#include<stdio.h>
int main(){
int value1=0,value2=0;
int Sum=0;
scanf("%d,%d",&value1,&value2);
Sum=value1+value2;
printf("The Sum is %d\n",Sum);
return 0;
}
一般使用方法
🖼 图片占位(归档模式)图片见原始导出:
linux%20%E9%87%8D%E5%AE%9A%E5%90%91.assets/328367921.png将结果输出到文件(追加模式)
🖼 图片占位(归档模式)图片见原始导出:
linux%20%E9%87%8D%E5%AE%9A%E5%90%91.assets/328478546.png查看文件
🖼 图片占位(归档模式)图片见原始导出:
linux%20%E9%87%8D%E5%AE%9A%E5%90%91.assets/328499687.png重复使用命令
🖼 图片占位(归档模式)图片见原始导出:
linux%20%E9%87%8D%E5%AE%9A%E5%90%91.assets/328791218.png覆盖模式输出
🖼 图片占位(归档模式)图片见原始导出:
linux%20%E9%87%8D%E5%AE%9A%E5%90%91.assets/328889000.png输入模式
新建文件作为输出源
🖼 图片占位(归档模式)图片见原始导出:
linux%20%E9%87%8D%E5%AE%9A%E5%90%91.assets/328995109.png输出结果
🖼 图片占位(归档模式)图片见原始导出:
linux%20%E9%87%8D%E5%AE%9A%E5%90%91.assets/328963734.png错误流
#include<stdio.h>
int main()
{
int Num1,Num2;
int value;
scanf("%d,%d",&Num1,&Num2);
if(Num2!=0)
printf("%d\n",Num1/Num2);
else{
fprintf(stderr,"Num2!=0\n");
return 233;
}
return 0;
}
🖼 图片占位(归档模式)图片见原始导出:
linux%20%E9%87%8D%E5%AE%9A%E5%90%91.assets/331523453.png