Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1136854
  • 博文数量: 646
  • 博客积分: 288
  • 博客等级: 二等列兵
  • 技术积分: 5375
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-08 14:33
个人简介

为了技术,我不会停下学习的脚步,我相信我还能走二十年。

文章分类

全部博文(646)

文章存档

2014年(8)

2013年(134)

2012年(504)

分类:

2012-07-06 20:24:38

[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

 

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