文件系统相关常识

简介: 文件系统相关常识

文件


什么是文件?

针对硬盘这种持久化存储的I/O设备,当我们想要进行数据保存时,往往不是保存成一个整体,而是独立成一个个的单位进行保存,这个独立的单位就被抽象成文件的概念,就类似办公桌上的一份份真实的文件一般.

43655cb13cd84f64b3f8d5936102cc66.png


这便是一个个文件了, 文件除了有数据内容之外,还有一部分信息,例如文件名、文件类型、文件大小等, 这些信息不作为文件的数据而存在,我们把这部分信息视为文件的基本信息.


随着文件越来越多,对文件的系统管理也被提上了日程,如何进行文件的组织呢,一种合乎自然的想法出现了,就是按照层级结构进行组织 —— 也就是树形结构。这样,一种专门用来存放管理信息的特殊文件诞生了,也就是我们平时所谓文件夹或者目录的概念。

da44d98a7080421cb997d7ca5eb639e1.png


文件路径 (Path)


如何在文件系统中定位一个唯一的文件呢?

从树型结构的角度来看,树中的每个结点都可以被一条从根开始,一直到达的结点的路径所描述,而这种描述方式就被称为文件的绝对路径(absolute path)。

104c6a5f374c42d48d5c47a3242273f8.png


绝对路径为 : D:\网易加速器\Netease\UU

注意: 在 windows 上 \ 是路径分隔符, 我们在 idea 上得写成 / 或者 \ (后者是将字符 \ 转义了)


除了可以从根开始进行路径的描述,我们可以从任意结点出发,进行路径的描述,而这种描述方式就被称为相对路径(relative path),相对于当前所在结点的一条路径. (我们将开始的目录叫基准目录或工作目录)


举个例子 :

假设工作目录如下, 要找到 文档1, 则相对路径为: ./文档1

28a97f7346b44611a5c0a72ef15732b7.png


换一下工作目录, 同样的找到 文档1, 相对路径为: . ./文档1

4c0ae21e82ad49139740eae39b14aaff.png


再换一下, 相对路径为: ./2号目录/3号目录/文档1

53714f0d11c844f38cee08e1e86b6eae.png


注意 :


. 在相对路径中, 是一个特殊符号, 表示当前目录.

. .也是特殊符号, 表示当前目录的上一级目录.


相对路径一定要明确 工作目录(基准目录) 是哪里.

路径就相当于一个文件的 “身份标识”.


文本文件与二进制文件


文本文件


文本文件存储的是文本, 文本文件的内容都是由 ascii 或者其他字符集的字符构成的, 本质上存的是字符. (文本文件后缀有: .txt .java .c)


如果用记事本打开, 就会得到一堆有规律的字符.(最少看的懂)


二进制文件


二进制文件存储的是二进制数据, 也就是一个个字节, 没有任何字符集限制, 想存啥都行.

(二进制文件后缀有: .class .exe .jpg .mp3)


如果用记事本打开, 就会得到一堆毫无规律的乱码.

因为二进制文件存储的是一个个的字节, 记事本尝试将若干个字节的数据往utf8 里套, 套出来是什么就是什么, 套不出来就是方块.


注: 记事本默认是以文本文件形式打开.


相关文章
|
Linux Shell Go
《Linux操作系统编程》 第五章 文件和文件系统: 了解文件和文件系统的概念和特性,掌握Linux文件系统的基本操作
《Linux操作系统编程》 第五章 文件和文件系统: 了解文件和文件系统的概念和特性,掌握Linux文件系统的基本操作
119 0
|
6月前
|
存储 索引
操作系统基础:文件系统基础【上】
操作系统基础:文件系统基础【上】
|
2天前
|
存储 Linux 索引
深入调查研究虚拟文件系统
【11月更文挑战第1天】
10 0
|
2月前
|
存储 缓存 网络协议
/proc文件系统 【ChatGPT】
/proc文件系统 【ChatGPT】
|
3月前
|
存储 数据管理 物联网
探索Linux文件系统的奥秘
【8月更文挑战第3天】在数字时代的海洋中,Linux 文件系统犹如一座灯塔,指引着数据存储和访问的航向。本文将带你深入Linux的文件系统结构,从基础概念到操作实践,通过代码示例揭示文件系统背后的逻辑与美学。准备好跟随我们的脚步,开启一场关于数据组织和管理的知识之旅。
|
6月前
|
数据安全/隐私保护 索引 Windows
操作系统基础:文件系统基础【下】
操作系统基础:文件系统基础【下】
|
6月前
|
存储 Unix 程序员
建议收藏!操作系统基础:文件系统实现【上】
建议收藏!操作系统基础:文件系统实现【上】
|
6月前
|
存储 块存储 索引
建议收藏!操作系统基础:文件系统实现【下】
建议收藏!操作系统基础:文件系统实现【下】
|
6月前
|
存储 Unix 程序员
非常详细!操作系统基础【文件系统实现】
非常详细!操作系统基础【文件系统实现】
|
6月前
|
存储 设计模式 运维
Linux文件系统设计简单了解
Linux文件系统设计简单了解
66 0