电脑里的东西到底是什么
后面所有内容都建立在「文件」和「目录」这两个概念上,先把它们说准。
- 文件、目录、路径这三个词到底指什么;
- 为什么程序也是一个文件,双击运行和命令行运行有什么区别;
- C 盘、桌面、用户目录之间的关系;
- 看懂一个路径字符串的办法。
一、文件就是一张写了字或存了图的数据纸
不管你是写文档、存照片、装软件,电脑里存下来的东西统称文件(file)。 文件有两个属性最重要:名字和里面装的内容。
名字通常由两部分组成:课程表.docx 里,课程表 是你起的名字,
.docx 是扩展名(extension)。扩展名用来说明这个文件该由哪个软件打开。
改扩展名不会改变文件内容,只会让电脑换个软件去打开它,所以把 .docx 改成 .txt
之后打开大概率是乱码。
二、目录是装文件的架子
目录(directory)就是文件夹(folder),同一个东西两个叫法。目录里可以装文件, 也可以装别的目录,于是形成一层套一层的结构。这个结构叫目录树。
描述一个文件在树里哪个位置,用的是路径(path)。路径有两种写法:
- 绝对路径:从最顶层开始写全。
C:\Users\你的用户名\Desktop\课程表.docx - 相对路径:从「我现在所在的位置」开始写。
Desktop\课程表.docx
Windows 用反斜杠 \ 分隔层级,Linux 和 macOS 用正斜杠 /。这个差别会在第 4 篇再次出现。
三、C 盘、桌面、用户目录是什么关系
Windows 电脑插上硬盘后会被分成若干个盘符,最常见的是 C:。
C 盘里有几个固定目录:
| 目录 | 装的东西 | 能不能随便删 |
|---|---|---|
C:\Windows | 系统本身 | 绝对不能碰,删了开不了机 |
C:\Program Files | 安装的软件 | 不要手动删,用「卸载」功能 |
C:\Users\你的用户名 | 你自己的文件 | 这是你的地盘 |
桌面(Desktop)并不是一个独立的地方,它只是 C:\Users\你的用户名 下面一个叫
Desktop 的目录,被 Windows 额外显示在了屏幕上。你在桌面新建一个文件,
等于在那个目录里新建了一个文件。
四、程序也是文件,只是它会被执行
记事本、浏览器、微信都是文件,区别只在于它们带了「可以被执行」的属性。
在 Windows 里,.exe 结尾的文件是可执行文件。
一个程序运行时,通常要做三件事:读入一些数据、算一算、把结果写出去。这三件事分别对应三个东西:
- 输入:从哪读数据。可能是你敲键盘、可能是某个文件、也可能是网络。
- 输出:结果写到哪。可能是屏幕、可能是文件、也可能是网络。
- 状态:程序运行过程中记着什么。比如浏览器记着你打开了哪几个标签页。
这三个词在后面的章节里会反复出现。讲到助手时说的「它能观察什么、能操作什么」,问的就是输入和输出。
五、实练:亲手看一遍目录树
不用装任何软件,用系统自带的资源管理器就能验证上面的说法。
- 按
Win + E打开资源管理器。 - 在地址栏点一下,把内容改成
C:\Users然后回车。你会看到以用户名命名的几个目录。 - 双击进入你自己的用户名目录,再进入
Desktop。这里就是你的桌面。 - 在桌面新建一个文本文档,随便写两个字保存,回到这个目录刷新,会看到同一个文件出现在这里。
- 点地址栏,路径会变成可以复制的文本。这就是这个文件的绝对路径。
C:\Windows 和 C:\Program Files 里新建、改名、删除任何东西。
这两个目录由系统和软件管理,手动改动轻则软件打不开,重则需要重装系统。
自己的练习一律放在 C:\Users\你的用户名 下面。
六、为什么要先讲这些
后面的课程会出现大量听起来更高级的词:仓库、分支、镜像、挂载、远程服务器。 它们全都是「文件加目录」这一套结构在不同场景下的延伸。仓库就是一个特殊的目录, 分支是这个目录里某个文件的内容,远程服务器是另一台电脑上的目录。
这一层想清楚了,后面那些词就不会再显得神秘。
C:\Users\你的用户名 下面新建一个目录,名字叫 gse-practice。
进入这个目录,新建一个文本文件叫 note.txt,写一句话:「我知道桌面其实是 C:\Users\我的用户名\Desktop 这个目录。」
用地址栏复制出这个文件的完整路径,粘贴到文件最后一行保存。 这个目录后面所有练习都会用到,别删。