#详细介绍!!! 文件系统的一点相关知识

news2024/12/24 10:24:45

本文主要是介绍了一些计算机文件相关的基础知识,帮助读者更好的认识文件

目录

1.内存和外存

内存

特性1:读写速度快

特性2:内存中的数据不能永久存储

特性3:容量小,价格贵

外存

内存和外存对比总结

2.认识文件

文件名解析

文件路径

绝对路径:

相对路径

文件存储的底层数据结构

文件的编码

文本文件

二进制文件




 

1.内存和外存

在计算机的组成结构中,有一个很重要的部分,就是存储器。存储器是用来存储程序和数据的部件,对于计算机来说,有了存储器,才有记忆功能,才能保证正常工作。存储器的种类很多,按其用途可分为主存储器和辅助存储器,主存储器又称内存储器(简称内存),辅助存储器又称外存储器(简称外存),而内存和外存的特性和使用有着很大的差异,下面我们分别来看内存和外存。

内存

我们计算机中都内置了内存条,内存条就是我们常说的内存

简单来说:

内存主要是用来存储当前计算机正在使用的数据的空间,计算机在执行过程中访问数据就是往内存中进行访问

特性1:读写速度快

由于计算机需要保证执行速度,那么对内存的读写速度要求就会很高,所以这就有了内存的这个性能要求

特性2:内存中的数据不能永久存储

上面说了内存是存储计算机当前正在使用的数据,那么计算机断电之后,计算正在使用的数据就更新了,所以计算机断电后,内存中的数据会丢失,意思就是内存中的数据不能永久保存;当然当你使用一个应用程序时数据就是调到内存中来供计算机执行,所以当你真正关闭这个程序时,内存中属于该程序的数据也对应的清除了

特性3:容量小,价格贵

这里的容量小和价格贵都是相对于外存衡量的,内存由于只需要存储计算机正在执行数据,并不适用于长期保存数据,而外存需要长期保存我们的各种数据,使用内存的空间大小要求就没有那么高,但是由于内存是直接和计算机cpu进行交互的,里面的逻辑和工艺都非常复杂,这也就使得内存的价格对比外存贵了很多,当然现在科技也在飞速发展,内存的价格也不算贵

外存

一般来说用于长期保存数据的I/O设备称为外存,例如硬盘,U盘,光盘等

外存是用于长期存储计算机中的各种数据,所以外存的空间一般比较大,但由于外存不需要与cpu进行交互,对速度要求没那么高所以制造工艺相对内存是较低的。现在市面上的外存设备超过1TB的价格也不算太高。

内存和外存对比总结

 

2.认识文件

文件是计算机资源存储到硬盘等外存中可视的最小单位。

我们打开计算机的文件资源管理器就可能看到,里面各种计算机资源都是以一个个文件的形式存储在计算机硬盘中的,只是它们的访问路径不同。

而多个文件整理存放在一起就组成了一个文件夹,也称之为目录(directory)

文件名解析

文件是由文件名和扩展名组成,中间由点号(英文符号)连接

文件名:时创造者自己针对文件设置的名字,时文件的身份标识

文件命名规则:文件名不包含以下任何字符:”(双引号)、*(星号)、?(问号)、\(反斜杠)、|(竖线)、/ (正斜杠)、 : (冒号)

扩展名:表示的时文件内容的类型,由于计算机只能识别0和1这种二进制编码,所以文件的内容其本质是由二进制组成的内容,需要通过特定的编码方式来针对这些二进制进行解码,转换成人们能看的懂的数据资源,所以扩展名就是表示的文件的解码方式,每个扩展名都有自己的解码方式,并且它们的编码方式一般并不相通,所以一个文件的扩展名进行了更改,可能会导致该文件的数据展示错误,得到看不懂的乱码。

例如:test.txt文件

文件名:test

扩展名:.txt 表示是通过记事本编码方式解析的文本文件

注意:由于文件名需要对文件进行标识,所以同一个目录下的文件名不能相同,否则会被系统认定为同一个资源,只能存在一个

文件路径

文件路径是文件在存储器中的位置所在,一般有两种表现形式

1.绝对路径

2.相对路径

下面我们来一起了解一下

绝对路径:

绝对路径是从根目录(盘符)开始记录,直到找到指定文件为止

例如:D盘中test.txt文件

test.txt文件是在D盘下的Temp目录下的TxGameDownload文件夹中

所以test.txt的绝对路径就为:D:\Temp\TxGameDownload\test.txt

相对路径

 文件的相对路径是对于某个指定文件或文件夹的位置来确定文件的位置

注意:是通过一个文件(夹)的位置来表明另一个文件(夹)的位置,则必然需要有一个文件(夹)作为参照物来说明

例如:前面那个D盘中的test.txt文件

1.假设TxGameDownload目录中还有一个test2.txt文件(两者在同一目录下)

那么test2.txt针对与test.txt的相对路径就是:test2.txt

2.如果test2.txt是在Temp文件夹中,那么test2.txt就是在test.txt的前一个目录中

那么test2.txt针对test.txt的相对路径就是:..\test.txt

寻找路径的表达形式:

1. 如果在同一个目录下则直接可以找到目标文件

2. 如果是在参照物的前目录中通过: ..\ 向前定位表示

3. 如果是在参照物后面的目录中通过: \ 向后定位表示

文件存储的底层数据结构

计算机中的数据存储都是通过文件的形式来进行表达,这些数据太多,而且表示的内容不同,需要有指定的数据结构来进行存储组织

下面我们来用肉眼看一下文件的的存储


这种路径的访问形式是不是很像树这种非线性的数据存储结构

实际上文件在存储器上的组织形式就是一颗N叉树

每个目录(文件夹)都表示一个N叉树,盘符时根节点,每个目录下面的文件夹和文件都是该目录下的孩子节点

通过这种形式把计算机中海量的数据有条理的组织在了一起,并且找指定目录下的文件,是通过树的深度进行遍历,所以也保证了文件的访问速度。

文件的编码

文件根据保存数据的方式不同,也经常被分为不同的类型,我们一般简单的划分为文本文件二进制文件 

文本文件

文本文件时指通过我们所能看的懂的字符集的编码格式进行存储(utf-8;unicode等),里面的数据通常是人所能看懂的。

二进制文件

二进制文件是指按照标准格式存储(二进制)的文件,没有通过特定的字符集进行解析过的文件,一般我们可能简单的认为,如果打开的文件是串看不懂得乱码,我们就认为是二进制文件,因为二进制文件是直接通过二进制数据进行存储,如果通过扩展名得编码方式进行解析,是得不到正确得内容得,展现出来得内容人们也看不懂

类似于这种:

最后,很多操作系统为了实现接口的统一性,将所有的 I/O 设备都抽象成了文件的概念,使用这一理念最为知名的就是 Unix、Linux 操作系统 —— 万物皆文件


 本篇文章介绍到这就差不多结束了,感谢各位友友得阅读与支持


 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/477344.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux Ansible导入剧本、任务滚动执行、任务并行执行

目录 任务滚动更新 配置并行 包含和导入剧本 任务滚动更新 实现在多台被管理节点执行任务时,第一台的整个playbook执行完成后再在下一台主机执行任务;通过serial元素来实现 serial:1 表示一台一台执行playbook(serial也可以指定…

【白嫖系列】教育邮箱申请最新专业绘图软件OriginPro(官方渠道)

🥑 Welcome to Aedream同学 s blog! 🥑 文章目录 预备简单介绍有效期与申请条件申请链接查看邮箱切换中文 预备 以edu结尾的邮箱,毕业也可使用校友邮箱等。 简单介绍 Origin是一款数据分析和绘图的软件,具备统计、峰值分析和曲线…

[oeasy]python0144_try的完全体_否则_else_最终_finally

try的完全体 回忆上次内容 上次细化了主控程序(main.py) 导入(get_fruits.py)处理(process.py)输出(output.py) 使用了 try 结构 tryexcept发现异常就报错 输入部分的错误 应该在 输入部分来报 具体怎么报呢?🤔 完善输入 输入的时候 应该包括 对于输…

新写了的 AOP 日志切面,方便以后直接使用。

前言 最近项目进入联调阶段,服务层的接口需要和协议层进行交互,协议层需要将入参[json字符串]组装成服务层所需的json字符串,组装的过程中很容易出错。入参出错导致接口调试失败问题在联调中出现很多次,因此就想写一个请求日志切…

AI 时代,知识工作者的生存指南

最近,大家可能已经见识过 AI 的威力了吧,以 ChatGPT 为代表的 人工智能(AI)展现出接近人一样的回答水准。 来自 Craft AI Assitant AI 就在那里,是房间里的大象,大家不能总装做对自己没有影响。要知道&…

Python使用CV2库捕获、播放和保存摄像头视频

Python使用CV2库捕获、播放和保存摄像头视频 特别提示:CV2指的是OpenCV2(Open Source Computer Vision Library),安装的时候是 opencv_python,但在导入的时候采用 import cv2。 若想使用cv2库必须先安装,P…

2023年最新5A景区有多少个?Python可视化告诉你

2023年最新5A景区有多少个?Python可视化告诉你 五一小长假来了,很多人想抓住小长假的机会去旅游。 5A景区是大多数人的首选,全国最新有多少个5A景区呢,应该还有很多人不知道。本文用Python进行可视化,告诉你答案。 …

【五一创作】【Mycat】Mycat2 Bugs 及修改建议(V1.22_2022-10-13)

Bug 1 : wrapper.conf 数字类型参数配置有误,多了末尾的单位 M https://wrapper.tanukisoftware.com/doc/english/prop-java-initmemory.html wrapper.log 产生警告: WARN | wrapper | 2023/04/20 22:42:00 | Encountered an invalid numerical val…

【Git 入门教程】第八节、Git流程管理

Git是一个非常流行的分布式版本控制系统,它提供了许多强大的功能来帮助开发者管理和协调代码库。在团队协作中,如何使用Git来管理开发流程是非常重要的。本文将介绍一些Git流程管理的最佳实践,包括分支策略、代码审核等。 一、分支策略 在团…

【实战】jenkins api 接口

jenkins api 接口实战 一、Jenkins Api简介二、Jenkins Api 环境准备1、获取所有job接口2、获取所有job名字接口3、获取所有job名字和url接口 三、使用curl调用 获取所有构建队列四、使用curl调用 获取Job信息五、使用curl调用操作Job1、操作Job需要验证crumba、使用token发起接…

时序预测 | MATLAB实现BO-CNN-BiLSTM贝叶斯优化卷积双向长短期记忆网络时间序列预测

时序预测 | MATLAB实现BO-CNN-BiLSTM贝叶斯优化卷积双向长短期记忆网络时间序列预测 目录 时序预测 | MATLAB实现BO-CNN-BiLSTM贝叶斯优化卷积双向长短期记忆网络时间序列预测效果一览基本介绍模型搭建程序设计参考资料 效果一览 基本介绍 基于贝叶斯优化卷积双向长短期记忆网络…

GPT-3.5 也能直接联网了

ChatGPT 常令人诟病的一个问题,就是它的模型训练数据,迄今为止用的还是 2021 年的老数据。 对于当下这个信息大爆炸时代,相隔两小时,消息都有可能滞后,更别说相隔两年了。 目前正式开放了 Web Browsing 这款插件。 …

eLife:情绪学习对人脑记忆整合的回溯性促进机制

所谓“一朝被蛇咬,十年怕井绳”,带有强烈情绪色彩的事件不仅令人记忆深刻,还会影响与之相关的其他事件。我们的日常生活中充满了无数平凡琐碎的小事,这些事情并不会给我们留下深刻印象。但是,当一件微不足道的小事事后…

计算机网络中常见的数据传输方式(电路交换,报文交换,分组交换)

前言:大家好,我是小威,24届毕业生,在一家满意的公司实习。本篇文章将详细介绍计算机网络中常见的数据传输方式,如电路交换,报文交换,分组交换。 如果文章有什么需要改进的地方还请大佬不吝赐教&…

Spring DI简介及依赖注入方式和依赖注入类型

目录 一、什么是依赖注入 二、依赖注入方式 1. Setter注入 2. 构造方法注入 3. 自动注入 三、依赖注入类型 1. 注入bean类型 2. 注入基本数据类型 3. 注入List集合 4. 注入Set集合 5. 注入Map集合 6. 注入Properties对象 往期专栏&文章相关导读 1. Maven系…

使用Dino+SAM+Stable diffusion 自动进行图片的修改

SAM 是Mata发布的“Segment Anything Model”可以准确识别和提取图像中的对象。 它可以分割任何的图片,但是如果需要分割特定的物体,则需要需要点、框的特定提示才能准确分割图像。 所以本文将介绍一种称为 Grounding Dino 的技术来自动生成 SAM 进行分割…

【微机原理】计算机中数的表示及运算

目录 一、数的类型 二.数值的相互转换 三.机器数的表示 四.机器数的运算--补码加减法 五.运算结果溢出的判断。 六.数据的编码 一、数的类型 1.十进制(Decimal) 基数为10,用0、1、2、3、4、5、6、7、8、9十个数码表示数值,采用逢1…

思考外语学习的底层逻辑(以英语、法语为例)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言一、英语1.学习历程2.英语学习的心得3.理论检验(持续更新) 二、法语1.学习历程2.读入数据 总结 前言 提示:这里谈谈自己为什么要…

IDEA中使用Git提交代码提示:您即将把CRLF行分隔符提交到Gt仓库。 建议将core.autocrlf Git特性设置为trUe,以免发生行分隔符问题。

IDEA中使用Git提交代码提示:您即将把CRLF行分隔符提交到Gt仓库。 建议将core.autocrlf Git特性设置为trUe,以免发生行分隔符问题。 问题背景: 在IDEA中,使用Git提交代码到远程仓库时,结果弹出一个警告窗口 问题原因: …

java紫砂壶交易购物系统 mysql

网络紫砂壶可充通过色彩、图片、说明、设置动画加强了产品了宣传,大大达到了陶瓷业的“色型”要求。实现产品管理方便,起到立竿见影的效果,不用因为更改菜色而重新印刷。只要在后台鼠标轻轻一点,全线马上更新。采用B/S模式&#x…