四丶Linux管道与重定向

date  查看日期

FD简介  file  descriptors  FD

文件描述符    进程使用文件描述符来管理打开的文件

 
一、重定向
linux启动后,会默认打开3个文件描述符,分别是:

标准输入:standard input 0
正确输出:standard output 1
错误输出:error output 2
命令执行完成:成功了,会把成功结果输出到屏幕:standard output默认是屏幕
命令执行有错误:会把错误也输出到屏幕上面:standard error默认也是指的屏幕

所用命令指令

echo: echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。
cat:后面不接其他命令时,默认从标准输入读取
1.1 输出重定向
1.1.2 重定向
使用>可以将本来出现在屏幕的标准输出信息重定向到一个文件中。

格式: command-line [1-n] > file或文件操作符或设备

上面命令意思是:将一条命令执行结果(标准输出,或者错误输出,本来都要打印到屏幕上面的) 重定向其它输出设备(文件,打开文件操作符,或打印机等等)1,2分别是标准输出,错误输出。

在这里插入图片描述


上面的1可以省略
注意:输出重定向是清除文件原有内容再写入的。

在这里插入图片描述


1.1.2 追加重定向
用>>可以在实现重定向时不覆盖原有内容,而是在文件末尾追加内容.

在这里插入图片描述
1.2 输入重定向
格式: command-line <file或文件描述符&设备

命令默认从键盘获得的输入,改成从文件,或者其它打开文件以及设备输入。执行这个命令,将标准输入0,与文件或设备绑定。将由它进行输入。

在这里插入图片描述

————————————————
版权声明:本文为CSDN博主「s_persist」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_52145272/article/details/123108946

二、管道
将一个程序的标准输出写到一个文件中去,再将这个文件作为另一个程序的输入。管道要解决的就是不需要临时文件就能将两条命令结合在一起。

1、进程管道Piping
将多条命令组合起来,一次完成复杂的功能
语法 command1 | command2 |command3
管道|会将前面左侧的一个指令的输出作为输入传递给后面右侧的命令,是从左到右的线性管道。
ll ./ | tail -10 | head -1
搜索当前文件夹中的对象->取得后面10行->取得第一行:获得了倒数第十行的对象
在这里插入图片描述
————————————————

2、tee管道
可以将左面命令的输出信息不但递交给接下来右边的命令,还能移交给文件
ll ./ |tee handsomedzl | head -3
这个命令下,ll的内容即递交给了head -3命令处理,又写入了文件handsomedzl,像分流器。

在这里插入图片描述

 

3、参数传递管道:xargs
有一些命令只支持用户输入,不支持文件输入,比如cp,rm
通过xargs将文本信息转换成参数可以传入此类命令

cat filename.txt | xargs rm -rvf

 (1)通过…一次创建多个文件文件夹
先通过命令mkdir file{1…20}一次再目录下创建20个文件夹,文件同理:

在这里插入图片描述

(2)再创建一个文件,里面写上这些要被删除的文件夹的名字。

在这里插入图片描述

(3)使用xargs将读取文件的内容传递给rm -rf命令,从文件中读取到的名称全部传递给rm -rf并执行 

在这里插入图片描述

 

版权声明:本文为CSDN博主「优秀的邓宗磊」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ganfanren00001/article/details/122311739

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值