LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1208|回复: 1

关于文件描述符的问题

[复制链接]
发表于 2003-11-7 16:30:24 | 显示全部楼层 |阅读模式
关于文件描述符的问题
command >&m 把把标准输出重定向到文件描述符m中  #这句话中的文件描述符是什么意思??

command > filename 2>&1 把把标准输出和标准错误一起重定向到一个文件中
#这句话中的文件描述符"&1"是不是就是指文件filename??

以上是关于文件描述符的问题,在shell一些教程里没看见关于这个的介绍.问问高手了.
发表于 2003-11-7 18:10:13 | 显示全部楼层
系统默认的文件描述符0,1,2,是标准输入(0),标准输出(1),标准错误输出(2).
关于文件描述符的讨论很多,请在本版搜索一下:关键词:文件描述符
>&和&>的区别:
&> 表示将stdout和stderr全部定向到某处,如:
ls &> list

>& 是将一个文件描述名柄重定向到另一个文件描述句柄,如:
ls /dev/jsdkfsjd > err 2>&1 将stderr定向到stdout,然后再将stdout定向到文件err。

>& 两边只能是文件描述名柄,并且两边必须要有文件描述符。如: 2>&3 1>&4

&> 这个描述符两边不能出现文件描述名柄,它本身就表示将所有输出(stdout和stderr)重定向,因而它有一个默认的操作:2>&1 (注:sh不支持该操作符,所以就要用> file 2>&1来代替它)
相关链接: http://www.linuxsir.cn/bbs/showt ... E%C3%E8%CA%F6%B7%FB
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表