0.4 文件与文件夹:数据是怎么存放的
第〇篇「零基础预科」免费。这一篇讲计算机里最基础的组织方式——文件和文件夹。
一、文件:有名字的数据
硬盘上几乎所有东西都是文件:一段文字、一张照片、一首歌、一个程序。每个文件至少有:
- 一个文件名;
- 一组数据内容;
- 一些属性(大小、修改时间、类型等)。
二、文件夹:分门别类的收纳箱
如果所有文件都堆在一起,几万个文件根本没法找。于是用文件夹(也叫目录,Directory) 来归类,就像现实中的收纳箱、档案柜。
关键特点:文件夹里可以放文件,也可以再放文件夹,一层层套下去,形成一棵"树":
这种结构叫目录树。最顶层叫根目录(Windows 里是 C:\,Linux 里是 /)。
三、四个最基本的文件操作
| 操作 | 含义 | 原处还有吗 |
|---|---|---|
| 复制(Copy) | 生成一个相同副本到目标位置 | 有 |
| 移动(Move) | 把文件搬到新位置 | 没有 |
| 重命名(Rename) | 改名字,内容不变 | — |
| 删除(Delete) | 移除文件(通常先进回收站) | 回收站里可还原 |
小技巧:按住 Ctrl 拖动文件通常是复制,直接拖动同盘内通常是移动。
四、文件的常见属性
右键文件看"属性",常能看到:
- 大小:占多少字节(KB/MB/GB);
- 创建/修改时间;
- 类型:由扩展名决定(下一篇讲);
- 只读 / 隐藏等标记;
- 权限:谁能读、谁能改(Linux 下尤其重要)。
五、安全人眼里的文件
- 漏洞复现里你会频繁和文件打交道:配置文件
docker-compose.yml、脚本detect.py、编译产物payload.ser; - Web 攻击里,"能不能上传一个文件(如脚本)到服务器"是经典 GetShell 路径;
- 路径穿越(ZipSlip、目录遍历)本质,就是程序没管好"文件该放在哪个文件夹",让攻击者把文件写到了不该写的位置。
六、本篇小结
- 文件是有名字的数据单位,文件夹是归类容器,可层层嵌套成目录树,最顶层是根目录。
- 基本操作:复制(留原件)、移动(不留)、重命名、删除(多进回收站)。
- 文件有大小、时间、类型、权限等属性。
- 安全上:文件上传、路径穿越、配置/脚本文件都与文件组织直接相关。
下一篇 0.5 讲文件名里的"扩展名",以及为什么 Windows 会默认把它藏起来(这其实是个安全隐患)。