Shell的命令的结果重定向

在系统内部,UNIX是以一个整数数字,称为文件描述符(file descriptors),表示每个进程打开的文件。传统上,Shell允许打开至多10个文件,文件描述符从0,1,2,...,9

一般来说,

文件描述符0,表示标准输入

文件描述符1,表示标准输出

文件描述符2,表示标准错误输出


比如,将程序的输出传输到一个文件,而程序的错误信息输出到另一个文件:

 make 1> out.log 2>err.log

当然,如果你想舍弃错误信息,可以将错误信息输出到文件/dev/null,在linux中,我们知道输出到/dev/null的内容会被系统丢弃掉:

 make 1> out.log 2>/dev/null

其实 1> out.log 中的1是没有必要的,因为输出重定向的默认文件描述符就是标准输出:文件描述符1,可以这样:

 make > out.log 2>err.log

当然,如果你想把程序的标准输出、错误信息都输出到同一个文件,可以这样:
 make > out.log 2>&1

注意, 2>&1 这4个字符是紧接着的,之间不能有空格的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值