大多数资源,Linux都是以文件的方式来访问。
Linux系统上的文件部分类型说明
–普通文件。
•就是储存到磁盘上大家所操作的各种数据文件;
–管道文件。
•是一个从一端发送数据,从另一端接收数据的通道;
–目录
•也叫目录文件,是包含了保存在目录中文件的列表;
–设备文件
•是一种特殊文件,提供了大多数物理设备的接口;
–符号链接
•包含了到另一个人文件的连接,类似于windows的快捷方式;
–套接口
•套接口更像管道文件,但可以让处于不同机器上的进程通讯。
文件描述符。
–文件描述符是个很小的正整数,它是一个索引值,指向内核为每个进程所维护的该进程打开文件的记录表。
–例如:每个进程启动时都打开3个文件:
•标准输入文件(stdin)
•标准输出(stdout)
•标准出错(stderr)
–这三个文件分别对应文件描述符0、1、2
–实际上,你可能已经用过基于描述的I/O操作,但却没有意识到。
–编程中应该使用<unistd.h>中定义的STDIN_FILENO、 STDOUT_FILENO、 STDERR_FILENO代替数字0、1、2。
基于文件描述符的I/O操作兼容POSIX标准,所以移植性比较好。
许多Linux、Unix系统都依赖于文件描述符。
尤其是TCP/IP操作只能通过文件描述符执行输入输出。
在Linux上几乎每样东西都是一个文件。
这样大量资源,比如内存,磁盘空间,进程间通讯,声卡,鼠标都有了一个统一的编程接口。