首页 > 代码库 > linux重定向

linux重定向

  1. 什么是重定向?

    1.正常的输入输出如下图:


wKioL1QOYaah-HNjAADyfgs5ZLY752.jpg

    2.重定向:如上图,一般流程会将程序的执行结果和标准错误输出到标准设备(显示器),重定向则是将输出结果输出到其他设备或文件。如下图   

spacer.gif

    wKiom1QOY5WzwCnAAAFiq9L0ZjY683.jpg

2.简介

    启动程序会产生一个进程,可以使用ps aux查看进程。每个进程都会产生一个输入输出文件。路径:/proc/PID/fd/0  标准输入(重定向)

    /proc/PID/fd/1  标准输出(重定向)

     /proc/PID/fd/2 标准错误输出(重定向)

    /proc/PID/fd/3  文件符

    /proc/PID/fd/4 

    重定向:重定向的是以下3个文件或者理解为设备

    /proc/PID/fd/0  标准输入(重定向)

    /proc/PID/fd/1  标准输出(重定向)

     /proc/PID/fd/2 标准错误输出(重定向)



    重定向的操作:>覆盖重定向,>>追加重定向,&标准输出和标准错误输出都重定向。

例子:正常输入输出:

        

[root@rsync ~]# ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:0C:29:D5:91:42  

          inet addr:192.168.4.224  Bcast:192.168.4.255  Mask:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:27314 errors:0 dropped:0 overruns:0 frame:0

          TX packets:587 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:2959134 (2.8 MiB)  TX bytes:68229 (66.6 KiB)


标准输出覆盖重定向(1可以省略)


[root@rsync ~]# ifconfig eth0 1>123

[root@rsync ~]# cat 123 

eth0      Link encap:Ethernet  HWaddr 00:0C:29:D5:91:42  

          inet addr:192.168.4.224  Bcast:192.168.4.255  Mask:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:27448 errors:0 dropped:0 overruns:0 frame:0

          TX packets:607 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:2974324 (2.8 MiB)  TX bytes:70605 (68.9 KiB)

    标准错误输出:


[root@rsync ~]# ifconfi eth0 >123

-bash: ifconfi: command not found

[root@rsync ~]# ifconfi eth0 2>123

[root@rsync ~]# cat 123 

-bash: ifconfi: command not found



本文出自 “长老唐” 博客,请务必保留此出处http://zhanglaotang.blog.51cto.com/3196967/1550091

linux重定向