一、Linux中的文件
Linux中文件可以分为4种:普通文件、目录文件、链接文件和设备文件。
1、文件描述符及其作用
对于 Linux 而言,所有对设备和文件的操作都使用文件描述符来进行的。文件描述符是一个非负的整数,它是一个索引值,并指向内核中每个进程打开文件的记录表。当打开一个现存文件或创建一个新文件时,内核就向进程返回一个文件描述符;当需要读写文件时,
也需要把文件描述符作为参数传递给相应的函数。
通常,一个进程启动时,都会打开 3 个文件:标准输入、标准输出和标准出错处理。这3 个文件分别对应文件描述符为 0、1和2也就是宏替换 STDIN_FILENO、STDOUT_FILENO和STDERR_FILENO,鼓励读者使用这些宏替换)。
可以如下查看LINUX默认的文件描述符,总共有1024个,对于大多数情况下是够用的:
# ulimit -n
三、文件系统
Linux中采用文件系统管理硬件设备,所有的设备都可以看成特殊的文件,从而将硬件隐藏起来,应用程序对硬件设备的操作就可以转化为对“文件的操作”。每个设备都有一个文件名,供文件系统open()、read()、write()、close()等文件系统函数的调用。