重定向及管道

原创 2018年04月15日 10:13:00

重定向及管道

重定向

重定向的应用场景
1.屏幕输出的内容很重要,需要保存的时候;
2.后台执行,也不希望它干扰前台输出;
3.系统的例行命令的执行结果,希望保存的时候;
4.一些命令,我们能够预想到除了的位置,这个我们可以2>/dev/null;
5.错误的信息和正确信息要进行分离的时候。
重定向的符号
>:输出内容重定向一个文件或者设备,并且将原先文件或设备中存在的内容覆盖
>>:输出内容重定向一个文件或者设备,追加的方式
<:输入重定向到一个程序
标准输入和输出
标准输入:代码0,或者stdin,使用的符号<
标准输出:代码1,或者stdout,使用的符号 1>
标准错误输出:代码2,或者stderr,使用的符号为2>
例子
前提条件:显示普通文档test1,test2,其中test2是不存在
1.用ls -l查看
[root@localhost zhangsan]# ls -l test1 test2
ls: cannot access test2: No such file or directory
-rw-r--r--. 1 root root 0 Apr 15 17:51 test1
2.将1题中正确内容写入到suc.log
[root@localhost zhangsan]# ls -l test1 test2 > suc.log  
ls: cannot access test2: No such file or directory
[root@localhost zhangsan]# cat suc.log 
-rw-r--r--. 1 root root 0 Apr 15 17:51 test1
3.将1题中错误的内容写入到err.log中
[root@localhost zhangsan]# ls -l test1 test2 2>err.log
-rw-r--r--. 1 root root 0 Apr 15 17:51 test1
[root@localhost zhangsan]# cat err.log 
ls: cannot access test2: No such file or directory
4.我们以追加的方式,将信息输出到err.log和suc.log中
[root@localhost zhangsan]# ls -l test1 test2 >>suc.log 2>>err.log
[root@localhost zhangsan]# cat suc.log 
-rw-r--r--. 1 root root 0 Apr 15 17:51 test1
-rw-r--r--. 1 root root 0 Apr 15 17:51 test1
[root@localhost zhangsan]# cat err.log 
ls: cannot access test2: No such file or directory
ls: cannot access test2: No such file or directory
5.将错误信息丢掉,调到/dev/null
[root@localhost zhangsan]# ls -l test1 test2 2>/dev/null
-rw-r--r--. 1 root root 0 Apr 15 17:51 test1
6.将错误和正确信息绑定到一个流中,然后将其输出到/dev/null中
[root@localhost zhangsan]# ls -l test1 test2 &> /dev/null

管道

管道命令
command1 | command2 | command3
注意
1.管道命令只能处理前一个命令的正确输出,不能处理错误的输出;
2.管道命令的右侧命令必须具有接受标准输入能力
例:
find / -name passwd 2>/dev/null |wc -l
管道常见的命令组合
grep cut sort uniq awk grep find sed
详细信息请参考:点击打开链接

管道与重定向

Bash的标准输入设备是键盘、鼠标、手写板等设备,标准输入设备为显示器 一般我们通过键盘输入命令并执行,系统将返回信息显示在屏幕上,默认不管是正确的还是错误的信息,都将输出至显示器。 标准输入为0,标...
  • VmBoys
  • VmBoys
  • 2016-05-18 17:34:57
  • 417

Linux命令行学习之路(六)——重定向和管道

linux系统下的重定向和管道命令简介
  • Anooyman
  • Anooyman
  • 2016-02-03 21:02:56
  • 1368

linux i/o重定向与管道编程

1.Linux 使用三种流: 0:stdin           标准输入 1:stdout        标准输出 2:stderr         标准错误输出 2.默认的连接是tty 如...
  • fulianzhou
  • fulianzhou
  • 2015-10-04 12:02:33
  • 1633

在linux上 重定向 管道实现

管道和重定向 输入输出不仅可以重定向到文件,也可以通过管道传递到其他进程中。 基本思路: linux: 1. 创建管道对 pipe(int pipefd[2]) 2. 创建进程 首先fo...
  • markman101
  • markman101
  • 2012-02-29 10:39:44
  • 4224

关于标准输出重定向到 管道的使用

void Call() { SECURITY_ATTRIBUTES sa;//创建一个安全属性的变量 HANDLE hRead,hWrite; //管道的读写句柄声明 sa.nLength =...
  • thanklife
  • thanklife
  • 2017-03-20 10:07:24
  • 518

Linux C 重定向和管道 学习

一. 重定向命令1. 在shell中运行命令时,系统为每个进程自动打开三个文件描述符。...
  • ganyingxie123456
  • ganyingxie123456
  • 2017-03-12 18:49:07
  • 513

管道与重定向的区别(暂时是个人理解,可能有谬误)

管道是上一个命令的标准输出作为下一个命令的标准输入,可否可以理解为前一个命令的stdout重定向到下一个命令的stdin “-”(减号)的作用在于如果需要stdoout或者stdin的时候,偏偏又没有...
  • digu
  • digu
  • 2010-05-21 11:24:00
  • 1630

管道与IO重定向之输出重定向

首先来了解一下什么叫IO.. I/O是Input与Output的缩写.. input就是linux下的标准输入设备,output就是标准输出设备了. 那么在linux下,输出设备跟输入设备分别是什么呢...
  • Elson_Yang
  • Elson_Yang
  • 2016-05-05 23:36:12
  • 338

example管道输入输出重定向

  • 2010年12月02日 10:25
  • 3KB
  • 下载

Linux--标准输入输出、重定向及管道运用

****************************************************************************************************...
  • zhaobeibei123
  • zhaobeibei123
  • 2017-08-03 07:18:48
  • 859
收藏助手
不良信息举报
您举报文章:重定向及管道
举报原因:
原因补充:

(最多只允许输入30个字)