文章目录
1.文件操作的知识点
文件的本质时进程在操作文件!
2.文件的理解
访问文件:可以使用文件操作,也可以使用系统调用!
3.标记位
4.文件的本质
那又如何理解linux一切皆文件呢?硬件是怎么和文件扯上关系的?
有了上述理解,再来看一看:
最后再看一个例子:
5.文件的应用
首先来说一下怎么获取文件大小
5.1 重定向
重定向之前提到了很多次,但都没有很好的理解它。今天让我们看看下图来进行深度理解!
但是还有一个问题,为什么刚才不加fflush数据就出不来?而一加fflush数据就可以出来?
5.1.1 重定向的接口
把fd的内容拷贝到1,这句话错的,不准确,不要看这句话!
int dup2(int oldfd, int newfd);
函数功能为将newfd描述符重定向到oldfd描述符,相当于重定向完毕后都是操作oldfd所操作的文件
但是在过程中如果newfd本身已经有对应打开的文件信息,则会先关闭文件后再重定向(否则会资源泄露)
5.1.2 缓冲区的理解
6.文件描述符2(stderr)的深入理解
7.磁盘文件
7.1 物理磁盘
没有被打开的文件都在磁盘中存放,磁盘的存取概念如下:
机械硬盘偏一并且存储量大,所以机房使用的都是机械硬盘。固态太贵了!
7.2 磁盘的存储结构
7.3 磁盘存储的逻辑
7.4 细化磁盘存储
8.dd指令挂载
这便是dd指令的一个用法,当然其也可以用于制作系统镜像!