Linux文件IO操作函数概述
文件概述 Linux中,一切皆文件。文件为操作系统服务和设备提供了一个简单而一致的接口。这意味着程序完全可以像使用文件那样使用磁盘文件、串行口、打印机和其他设备。 也就是说,大多数情况下,你只需要使用5个函数: open、close、read、write和ioctl。 例外的情况: 目录的读写,网络连接等特殊文件 目录 文件通常由两部分组成: 内容 + 属性,即管理信息,包括文件的创建修改日期和访问权限等。属性均保存在 inode 节点中。inode - "索引节点",储存文件的元信息,比如 文件的创建者、文件的创建日期、文件的长度和文件在磁盘上存放的位置等等。每个inode都有一个号码,操作系统用inode号码来识别不同的文件。ls -i 查看inode 号。 目录是用于保存其他文件的节点号和名字的文件,每个数据项为指向文件节点的链接。如下图: 当文件链接数变为零,意味文件删除,磁盘空间变成可用空间。 文件和设备 三个重要的设备文件: /dev/console - 系统控制台。 /dev/tty - 访问不同的物理设备。 /dev/null - 空设备,向所有写这个设备的输出都将被丢弃。 设备驱动程序: 操作系统的核心部分,即内核,是由一组设备驱动程序组成。他们是一组对系统硬件进行控制的底层接口,为了向用户提供一个一致的接口,其封装了所有与硬件相关的特性。