详细理解:
linux命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示。一般情况下,标准输入设备就是键盘,标准输出设备就是终端,即显示器。在linux shell执行命令时,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件。由于文件描述符不容易记忆,shell同时也给出了相应的文件名:
文件描述符说明列表
文件 文件描述符
输入文件-标准输入 0(缺省为键盘...
分类:
其他好文 时间:
2014-08-17 10:27:22
阅读次数:
170
open系统调用
函数原型及解释
【代码】
调用 open
可以打开一个已经存在的文件(普通文件、特殊文件或命名管道),或创建一个新文件,但它只能创建普通文件(创建特殊文件需要使用 mknod,命名管道使用
mkfifo)。open
返回是打开已存在的文件或创建新文件的文件描述符。文件一旦打开,read、
write、 lseek、
close...
分类:
系统相关 时间:
2014-08-17 01:06:31
阅读次数:
388
这是文件I/O的常用函数,open函数,open函数用来打开一个设备,他返回的是一个整型变量,如果这个值等于-1,说明打开文件出现错误,如果为大于0的值,那么这个值代表的就是文件描述符。一般的写法是if((fd=open("/dev/ttys0",O_RDWR | O_NOCTTY | O_ND.....
分类:
其他好文 时间:
2014-08-17 01:04:51
阅读次数:
195
1. read函数1) 函数原型: #include ssize_t read(int fd, void *buf, size_t count);2) 函数功能: read系统调用从文件描述符fd指向的文件中,读取count个字节到buf中。3) 参数说明: fd:文件描述符 buf:保存读入...
分类:
其他好文 时间:
2014-08-17 01:02:41
阅读次数:
214
1、什么是文件和文件描述符Linux中文件可以分为4种:普通文件、目录文件、链接文件和设备文件。1、普通文件是用户日常使用最多的文件,包括文本文件、shell脚本、二进制的可执行和各种类型的数据。ls -lh 来查看某个文件的属性,可以看到有类似 -rw-r--r-- ,值得注意的是第一个符号是 -...
分类:
系统相关 时间:
2014-08-15 22:23:29
阅读次数:
271
1、什么是文件和文件描述符Linux中文件可以分为4种:普通文件、目录文件、链接文件和设备文件。1、普通文件是用户日常使用最多的文件,包括文本文件、shell脚本、二进制的可执行和各种类型的数据。ls -lh 来查看某个文件的属性,可以看到有类似 -rw-r--r-- ,值得注意的是第一个符号是 -...
分类:
系统相关 时间:
2014-08-15 19:37:59
阅读次数:
261
IO复用简介
IO复用使得程序能同时监听多个文件描述符,这对提高...
分类:
其他好文 时间:
2014-08-14 14:10:28
阅读次数:
238
Linux将所有外部设备都看做一个文件来进行操作。因此,linux对所有外部设备(包括实体设备、以及虚拟设备)的操作都可以看做是文件的操作。文件的操作当然需要有个标示描述它,这就是文件描述符(file descriptor)
而对文件的操作,本质上就是IO的操作,本问将重点讨论IO操作中的网络IO...
分类:
Web程序 时间:
2014-08-08 12:19:56
阅读次数:
369
apue说到非堵塞要分析两种系统调用,低速的系统调用和其它的系统调用。那么低速的系统调用可能是进程堵塞。例如对不存在的数据进行读操作,可能是调用者永远阻塞,因为他得等读到了数据才返回;如果某个文件描述符拒绝某个写操作,写操作不能完成而阻塞;打开某些类型没有准备好的文件的文件也会引起阻塞;以及对强制性...
分类:
其他好文 时间:
2014-08-06 18:20:51
阅读次数:
165
作为一个多用户、多任务的操作系统,Linux下的文件一旦被删除,是难以恢复的。尽管删除命令只是在文件节点中作删除标记,并不真正清除文件内容,但是其他用户和一些有写盘动作的进程会很快覆盖这些数据。不过,对于家庭单机使用的Linux,或者误删文件后及时补救,还是可以恢复的。 1、Ext2文件系统结构的....
分类:
系统相关 时间:
2014-08-05 18:46:29
阅读次数:
309