📦 归档笔记 — 原创建于 WizNote,仅作归档展示;观点以当年为准,非最新。

linux 重定向

创建时间2018-07-25最后修改2018-07-25原位置/程序员成长之旅/Linux学习/字数422图片/附件16
目录:程序员成长之旅/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