1、基本读取read命令接收标准输入(键盘)的输入,或其他文件描述符的输入(后面在说)。得到输入后,read命令将数据放入一个标准变量中。下面是 read命令的最简单形式::#!/bin/bashecho -n "Enter your name:" //参数-n的作用是不换行,echo默认是换行re...
分类:
系统相关 时间:
2014-09-13 13:21:06
阅读次数:
248
read命令 -n(不换行) -p(提示语句) -n(字符个数) -t(等待时间) -s(不回显)1、基本读取read命令接收标准输入(键盘)的输入,或其他文件描述符的输入(后面在说)。得到输入后,read命令将数据放入一个标准变量中。下面是read命令的最简单形式::#!/bin/bashecho...
分类:
系统相关 时间:
2014-09-10 21:02:11
阅读次数:
290
标准输入、输出和错误当我们在shell中执行命令的时候,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件。由于文件描述符不容易记忆,shell同时也给出了相应的文件名。下面就是这些文件描述符及它们通常所对应的文件名:文件文件描述符输入文件—标准输入0:它是命令的输入,缺省是键盘,也可...
分类:
系统相关 时间:
2014-09-10 21:00:21
阅读次数:
240
1.二者对比:
文件描述符就是open文件时产生的一个整数,直到一个索引作用,它用于UNIX系统中,用于标识文件。它是系统调用产生的。
文件指针是指向一个FILE的结构体,这个结构体里有一个元素就是文件描述符。它用于ANSI C标准的IO库调用中,用于标识文件。fopen是依赖于open的;
既然FILE中包含文件描述符元素,可以用fopen()直接获取指针fp,然后使用fp获...
分类:
其他好文 时间:
2014-09-09 23:07:29
阅读次数:
447
------------------------------------
要去访问磁盘的文件,必须通过系统调用来返回一个与该文件相关联的ID,
这个ID就是文件描述符file descriptor
linux操作系统提供了一个open系统调用,
任何进程要去访问一个文件,首先使用这个open打开这个
文件,系统将返回一个编号,及与这个文件相关联的文件描述符
(1)用户程序从用户从用...
分类:
系统相关 时间:
2014-09-09 20:11:49
阅读次数:
218
在了解dup用法之前,需要对linux的文件节点有一个认识。
内核有3个数据结构来表示进程打开的文件,dup是系统提供的一个API可以直接操作这三个数据结构之间的关系。
(1)每个进程在进程表当中都有一个记录项,记录项中包含一张表格,记录了所有当前进程打开的文件,可以将其想象成为一个key-value的映射关系,key为文件描述符fd,对于每个进程来说,fd从0开始向后排,value为指向文件...
分类:
其他好文 时间:
2014-09-09 18:20:19
阅读次数:
220
read命令 -n(不换行) -p(提示语句) -n(字符个数) -t(等待时间) -s(不回显)1、基本读取read命令接收标准输入(键盘)的输入,或其他文件描述符的输入(后面在说)。得到输入后,read命令将数据放入一个标准变量中。下面是read命令的最简单形式::#!/bin/bashecho...
分类:
其他好文 时间:
2014-09-09 18:03:49
阅读次数:
206
在Linux中,内核利用文件描述符(File Descriptor)即文件句柄,来访问文件。文件描述符是非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文...
分类:
系统相关 时间:
2014-09-09 13:55:08
阅读次数:
297
一、实现 Select实现 原理: Select把要监听的文件信息拷贝到内核层。接着遍历所有监听的文件描述符对应的驱动程序的Poll函数,poll函数把当前进程挂到该设备驱动的等待队列中去,然后Poll函数会返回哪些资源可用的bitmask。如果有资源可用,则把表示哪些文件有事件的bitma...
分类:
其他好文 时间:
2014-09-07 01:02:34
阅读次数:
275
select函数对数据结构fd_set进行操作,fd_set是一个bitmap,该集合由打开的文件描述符构成。对于管道而言,select是通过检查管道是否阻塞,来进行监听的。只要所监听的管道非阻塞,select就能立马获知,并将其在fd_set中的相应为置1。管道非阻塞只有两种情况,一种是客户端向管...
分类:
其他好文 时间:
2014-09-06 23:41:24
阅读次数:
263