linux-管道和重定向

linux- FD|管道 | 重定向

一 FD简介:

file descriptors 文件描述符 进程使用文件描述符来管理打开的文件,也叫文件句柄。 程序打开时用来描述程序的文件,在linux可以理解为软连接,快捷方式 ~
每个进程都会有fd 链接文件的 ,在打开很长很长的路径时, 不用直接调用全路径名,直接调用fd即可。

可以查看fd的方式, 在/proc中数字文件夹中
在这里插入图片描述
其中 0 1 2 是用来输入和输出的 ,0是键盘 1和2是屏幕 4是普通文件

二 重定向

2.1 输出重定向

可以将屏幕输出的东西 保存在指定的文件中

分为:

  • 正确输出 :符号 1> 比如date 1> time.txt 执行date后输出的正确信息会保存到time.txt文件中,错误的信息不会保存
  • 错误输出: 符号 2> 比如date 2> time.txt 执行date后输出的错误(执行结果失败的)信息会保存到time.txt文件中 ,此方式正确信息不会保存~
  • 正确和错误一起输出: 比如ls /home /aaaa &> 111.txt 执行date后输出的正确和错误的信息第一会保存到time.txt文件中
    &> 注意:& 和 > 不要有空格,不然会被默认/为后台执行了,
  • 黑洞文件: 执行命令 &> /dev/null 直接将信息丢垃圾桶里,保持程序干净
2.2 输入重定向

和输出相反, 将文件内容作为资源 追加到程序中 符号 <

补充1:符号 > 多次重定向 此方式覆盖前内容,如果需要追加内容 用>>符号

补充2: 命令加了 >号 就等于调用了 它的fd 并将内容输出到其他位置

三 管道
3.1 管道 |

简介:可以将多条命令组合起来,一次性完成复杂的处理任务
语法 指令1 | 指令2 |指令 3
将指令1的标准输出的结果 作为输入给指令2 ,再将指令2的标准输出的结果 作为输入给指令3, 最后结果信息返回给屏幕

3.2 管道 |tee

简介:相当于pingping的扩展, 会把前面程序处理的结果再另外保存一份副本。
语法 :`` 指令1 ** |tree** 副本文件名 | 指令2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值