前言
众所周知,文件存在硬盘上,整个系统是一个文件系统,在Linux中,很多的操作都是通过文件来实现。Linux中一切皆文件。下面介绍一下文件IO的层次关系。
提示:以下是本篇文章正文内容,下面案例可供参考
一、文件的分类
Linux中一共有7种文件类型
1.普通文件(-):用于存储文件数据
2.目录(d)
3.链接文件(l):指的是软链接
4.字符设备文件(c):代表一个字符设备,通过访问字符设备文件来访问字符设备
5.块设备文件(b):代表一个块设备,通过访问块设备文件来访问块设备
6.管道文件(p):用于进程间管道通信
7.套接字文件(s):用于网络中本地通信
二、文件IO的层次关系
1.背景
操作系统分为用户层和内核层,两者隔离。使用者处于用户层,不能直接触及内核层;
2.原理
内核是资源的管理者,服务的提供者,使用者不能直接访问内核层,但是可以通过接口访问。对于专门访问内核文件的接口调用(文件IO)叫做系统调用(本质上是一些函数)。
在用户层中,使用者编写的应用程序可以直接调用文件IO去访问文件。或者是,在C语言中,有许多标准函数,存储在C标准库(将源代码编译,生成二进制可执行文件)中,对于文件操作的标准函数叫做标准IO,访问内核文件时调用文件IO进行访问。
标准IO不限平台。