linux 查看进程stdout,linux – ‘输出到stdout’是什么意思

Linux系统(以及大多数其他系统)上的每个进程至少有3个打开的文件描述符:

> stdin(0)

> stdout(1)

> stderr(2)

每个文件描述符的规则将指向进程启动的终端.像这样:

cat file.txt # all file descriptors are pointing to the terminal where you type the command

cat < file.txt # will use file.txt as stdin

cat file.txt > output.txt # redirects stdout to a file (will not appear on terminal anymore)

cat file.txt 2> /dev/null # redirects stderr to /dev/null (will not appear on terminal anymore

当您使用管道符号时,会发生同样的情况:

wget -q http://192.168.0.1/test -O - | grep -m 1 'Hello'

实际发生的是wget进程的stdout(在|之前的进程)被重定向到grep进程的stdin.因此,当grep的输出是当前终端时,wget的stdout不再是终端.例如,如果要将grep的输出重定向到文件,请使用以下命令:

wget -q http://192.168.0.1/test -O - | grep -m 1 'Hello' > output.txt

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值