一、重定向
Linux 重定向分为两种,一种输入重定向,一种是输出重定向;从字面上理解,输入输出重定向就是「改变输入与输出的方向」的意思。
- 标准输入(STDIN),文件描述符号为:0,默认从键盘获取输入 <0
- 标准输出(STDOUT),文件描述符号位:1,默认输出到显示终端 1> 1 >>
- 标准错误(STDERR),文件描述符号为:2,默认输出到显示终端 2> 2>>
1.标准输出重定向
-
输入date命令,结果被显示在桌面上

输入命令 [root@localhost ~]# date 1> file1 -
将date 输出结果 重新定位到一个文件中,此时发现结果并没有像上面一样被显示出来

-
那么我们打开 文件file1查看

-
结果被重新定向到了 文件file1中
-
当我们进行多次重定向操作时,查看结果 发现依然只有 一次 结果被覆盖了


-
所以我们要在此处进行追加重定向操作
输入命令 [root@localhost ~]# date 1>> file1

2.错误输出重定向
用ls命令查询目录下文件,并试着将结果定向到文件 file2,结果发现结果还是被输出了出来,文件file2中没有内容。


注意:(错误输出重定向 是只能将错误的命令重定向到一个地方 正确的命令是不会被识别的)
正确示范:

将正确和错误的指令同时输出到一个文件中

3.输入重定向
< 等价于0<
二、管道
管道是两个头或三个头的东西,每个头各连接一个进程或者同一个进程的不同代码,按照管道的类别分有两种管道,匿名的和命名的;按照管道的传输方向分也可以分成两种,单向的双向的。根据管道的特点,命名管道通常用在网络环境下不同计算机上运行的进程之间的通信(当然也可以用在同一台机的不同进程中)它可以是单向或双向的;而匿名管道只能用在同一台计算机中,它只能是单向的。匿名管道其实是通过用给了一个指定名字的有名管道来实现的。
piping
管道命令可以将多条命令组合起来,一次性完成复杂的处理任务。

tee
三通管道,即交给另一个程序处理。又保存一份副本

查看副本 file3 结果发现 结果非常的多

为什么会出现这个结果呢 因为 我们的命令
[root@localhost ~]# ps aux |tee file3 |grep s| head -3
tee管道程序 在ps aux 之后 所以保存显示的为 ps aux的副本

xargs(参数传递)
输入命令
[root@localhost ~]# touch {1..5}
创建5个文件 
在文件file4 中输入内容

然后 想利用Xargs参数传递功能 来对 文件进行删除
输入命令
[root@localhost ~]# cat file4 |xargs rm -rvf

然后进行查看

本文深入解析Linux系统中的重定向与管道概念,包括标准输出、错误输出与输入重定向的使用方法,以及管道如何连接多个命令以实现复杂的数据处理流程。
1891

被折叠的 条评论
为什么被折叠?



