重定向管道

1.FD:file  descritors,文件描述符(类似于粘合剂),,文件句柄利用文件描述符来管理打开的文件。

 

a3e17453fa894b7fb472dc92e0d59d37.jpg

           0:键盘只读 (标准输入文件)

          1,2:中端可以理解为屏幕(1正确输入文件,2错误输入文件)

           3:+文件,可读可写(其他文件)

 

查看文件FD的调用情况:ll+空格/proc/pid/fd

2.输出重定向:FD:1和2

          正确输入定向:1>等于>,覆盖

                                  1>>等于>>,追加

          例如:cat+空格文件名+空格1>+空格新建文件名,即可新建一个文档保存新文件之前的东西,若要修改则修改完毕之后如上格式,加上>>,即可保存新修改的内容。

           错误输入定向:2>等于>

                                    2>>等于>>

           例如:若输入错误指令只需在后面加空格2>+空格新建文件名,则可以保存之前错误的指令,利用cat语法查看时,会显示出错误内容。

           标准输入:<等价于0<

2bed259e870e40029d2f38a311395cdf.jpg

 

3.管道:管道命令可以将多条命令组合起来,一次性完成复杂的处理任务。(相当于水管的珐琅)

进程管道:语法+空格|+空格语法   (相当于利用cat命令找全部内容,后面加了grep语法,只用看文件的关键字)

tee管道:语法+|空格tee+空格新建文件名|+空格语法(相当于cat命令中的全部内容可以在新建的文件中看到,后面加了grep语法也可以看到关键字内容)

参数传递xargs:cp,rm一些命令不服其他程序。

      例如:利用进程管道删除文件时,文件会被删掉,但是文件中的内容l利用cat语法依旧可以被查询到。

 

 

  • 11
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言标准库中有一个函数叫做freopen(),它可以用于重定向C程序的输入和输出流。通过调用freopen()函数,我们可以将标准输入流stdin和标准输出流stdout重定向到文件或者管道中。 要将C程序的标准输入流重定向管道,可以使用如下命令: ``` freopen("input.txt", "r", stdin); ``` 这会将程序的标准输入流重定向到名为"input.txt"的文件中。这样,程序执行时会将文件中的内容作为输入。 同样地,要将C程序的标准输出流重定向管道,可以使用如下命令: ``` freopen("output.txt", "w", stdout); ``` 这会将程序的标准输出流重定向到名为"output.txt"的文件中。这样,程序执行后的输出会被写入到文件中。 需要注意的是,freopen()函数也可以对C中的cin和cout进行重定向。使用方法与上述类似,只需要将文件名替换为管道的名称即可。 通过这种方式,我们可以在C程序中实现输入输出的重定向,从而实现输入和输出的管道操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [C++输入输出重定向(3种方法)](https://blog.csdn.net/weixin_39536630/article/details/116964030)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值