操作系统:文件

一切皆文件

1.Linux中的七种文件 

①. 普通文件(Regular file)
  • 通常用来存储文本或二进制数据,如文本文件、图像文件 等。       
  • 在Linux中的文件类型占位符为-
  • 文本文件:源代码,txt文档等
  • 二进制可执行文件:源码编译后的可执行文件
  • 其他特殊编码格式的数据文件:/var/log/wtmp,图片,音视频,数据库文件 等等
2. 目录文件(Directory file)
  • 用来存储其他文件和目录的位置信息。
  • 在Linux中的文件类型占位符为d
  • 家目录不是/home目录:每个用户都有自己的家目录,除root的家目录在/root外, 其他普通用户的家目录位于/home目录下面的以自己用户名为名的目录下
  • PATH路径:准确的说,PATH是shell中的一个环境变量,在各种操作系统中都有,用 以存储可执行文件所在的目录,当我们在shell里写入指令时,实际是在所有PATH路 径里查找是否存在该可执行文件
3. 符号链接文件(Symbolic link file)
  • 类似于Windows系统中的快捷方式,它指向另一 个文件或目录。
  • 在Linux中的文件类型占位符为l
  • 软链接:一个新的文件,文件内容为原始文件的具体存储位置,跟Windows中的快捷方式 一样;
  • 硬链接:本质上是同一个文件,只是这个文件有了不止一个名字,相当于与一个具有双国 籍的人,或者有两个户口的人,虽然名字,国籍,户口所在位置不同,但本质上还是同一 个人
4. 块设备文件(Block device file)
  • 用于存储数据的设备,如硬盘、U盘等。
  • 在Linux中的文件类型占位符为 b
  • 块(block)的概念在操作系统中广泛存在,虽然所处的层,模块各不相同,但其本质思 想是相通的。它指的是一段固定大小的连续内存或磁盘空间,用于数据存储和管理。块被 用于以结构化和高效的方式组织和管理数据。它们将数据分解成更小、可管理的部分,从 而使数据的访问、检索和修改更容易。这个概念被应用于操作系统的许多不同部分,从文 件系统到输入/输出操作。
5. 字符设备文件(Character device file)
  • 用于传输字符流的设备,如键盘、鼠标等。
  • 在Linux中的文件类型占位符为 c
  • 它的特点是该 文件中传递的数据为字符数据,构成字符流,同时数据是实时的,不能存储
6. 套接字文件(Socket file)
  • 用于进程间通信的文件。
  • 件在Linux中的文件类型占位符为 s
  • 套接字(socket)是应用层和运输层的接口,负责将应用层的数据,通过运输层的TCP 或者UDP传输出去。Socket是网络编程中,发送和接收数据的唯一接口,发数据则往 socket文件写,收数据则是从socket中读数据。
7. 管道文件(FIFO file)
  • 类似于套接字文件,也用于进程间通信,但是它只能用于相关 进程之间的通信。
  • 在Linux中的文件类型占位符为p
  • 管道文件,也称为命名管道,是Linux中用于进 程间通信(IPC)的一种文件类型
  • 它允许两个或多个进程通过读写共享数据缓冲区来相互通信。管道文件类似于普通文件, 但不同的是,它只存在于内存中,而不是存储在磁盘上。
  • 文管道文件有两个端口,一个用于写入,一个用于读取。
  • 当一个进程向管道文件的写入端口写入数据时,数据将被存储在共享缓冲区中。另一个 进程可以从管道文件的读取端口读取数据。数据按照写入的顺序读取,所以第一个写入 的数据也是第一个读取的数据。
  • 管道文件可用于在同时运行的进程之间传递数据。例如,一个进程可能生成需要由另一 个进程处理的数据。第一个进程可以将数据写入管道文件,第二个进程可以从管道文件 中读取数据并对其进行处理。

2.文件的属性

文件中的inode是什么?

        Inode通过指针指向文件数据的实际存储位置,帮助文件系统有效管理磁盘空间。

        而上面介绍符号链接文件的地方中的硬链接,就是通过inode实现的,文件名不同,但是文件中的inode号一样那么指向文件存储的位置就是一样的。

3.文件的逻辑结构

4.文件控制块

5.对文件操作的函数

  • 18
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

初猿°

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值