您的位置:首页 > 运维架构 > Shell

Shell的命令的结果重定向

2016-06-22 15:08 351 查看
在系统内部,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个字符是紧接着的,之间不能有空格的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: