Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2374067
  • 博文数量: 298
  • 博客积分: 7876
  • 博客等级: 准将
  • 技术积分: 5500
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-23 13:39
文章存档

2013年(2)

2012年(142)

2011年(154)

分类: Python/Ruby

2012-02-18 11:37:28

[Shell]文件描述符

转自:http://zhu8337797.blog.163.com/blog/static/170617549201161955814278/

 

Linux系统中, 每当进程打开一个文件时,系统就为其分配一个唯一的整型文件描述符,用来标识这个文件。大家知道,标准C中每个进程默认打开的有三个文件,标准输入,标准输出,标准错误,分别用一个FILE结构的指针来表示,即stdinstoutsterr,这三个结构分别维护着三个文件描述符0,1,2

 

打开文件描述符

         Shell中,012是默认可用的三个描述符,为了利用其它文件描述符来标识特定文件,我们需要使用exec命令来打开该文件,并指定一个数字作为描述符:

exec m> outfile

exec n< infile

第一行以输出方式打开文件outfile并且赋予文件描述符m,第二行以输入方式打开文件infile并且赋予文件描述符n

 

复制文件描述符

         符号<&可以复制一个输入描述符,符号>&可以复制一个输出描述符:

exec n<&m

exec命令打开文件描述符n并将其作为文件描述符m的副本。

 

关闭文件描述符

exec n<&-

exec m<&-

exec命令关闭文件描述符n和文件描述符m

 

阅读(2686) | 评论(2) | 转发(3) |
给主人留下些什么吧!~~

g_programming2012-02-21 09:24:08

煜轩: 学习了!~Linux系统中, 每当进程打开一个文件时,系统就为其分配一个唯一的整型文件描述符,用来标识这个文件。.....
其实要了解linux基础还需要多看书啊

煜轩2012-02-20 21:42:19

学习了!~Linux系统中, 每当进程打开一个文件时,系统就为其分配一个唯一的整型文件描述符,用来标识这个文件。