Linux基础

论坛 期权论坛 脚本     
匿名网站用户   2020-12-20 00:17   11   0

Linux重定向

标准输入的文件描述符为0,标准输出的文件描述符为1, 标准错误的文件描述符为2,默认都是屏幕.重定向用于将标准输入/标准输出重定向到文件中、管道等中,参考链接:

 http://www.cnblogs.com/softidea/p/3965093.html
 http://www.linuxidc.com/Linux/2016-09/134932.htm
 http://blog.chinaunix.net/uid-21142030-id-3211182.html

A. 重定向正确的输出

find /etc/ -name passwd > file.txt //将正确的信息保存到file.txt中,屏幕打印错误的信息.

B. 重定向错误的输出

find /etc/ -name passwd 2> file.txt //此时屏幕上显示正确的信息,file.txt中保存错误的信息.

C. 重定向所有的输出

find /etc/ -name passwd &> file.txt //此时屏幕上既显示标准错误又显示标准输出.

D. 将错误信息从标准错误重定向到标准输出:

find /etc/ -name passwd 2>&1 //此时屏幕上既显示标准错误又显示标准输出.

其中,&是为了让bash将1解释为标准输出而不是普通的文件名.

E.先将错误信息重定向到标准输出,然后将标准输出重定向到空设备,那么在屏幕上就会显示错误信息,正确信息被送到/dev/null设备.

find /etc/ -name passwd 2>&1 > /dev/null

find /etc/ -name passwd > /dev/null 2>&1 //先将标准输出重定向到空设备,然后将标准错误重定向到标准输出,由于在之前已经将标准输出重定向到空设备,因此,此时标准错误也会被重定向到/dev/null,屏幕上不显示任何信息.

F. 输出重定向到文件以后在屏幕上就看不到输出了,如果既想保存到文件中又想在屏幕上显示,可以用tee命令:

find /etc/ -name passwd 2> /dev/null | tee file.txt

tee命令: 参考链接: http://man.linuxde.net/tee

tee //只输出到标准输出,没有指定文件

tee file.txt //输出到标准输出的同时,保存到文件file中,如果file存在,会覆盖; 不存在,会创建.

tee -a file.txt //-a表示append模式,向file中追加写入.



分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1136255
帖子:227251
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP