普通人也能看懂的 LINUX 命令 · 02
Linux 的文件世界根目录、主目录和路径到底是什么?
看懂文件地图,才能知道命令在哪里执行
在 Windows 里,我们习惯打开“此电脑”,再进入 C 盘、D 盘和一个个文件夹。到了 Linux,很多人却发现:没有熟悉的盘符,路径还总是以一条斜杠开头。
Linux 并不是没有文件系统,只是它组织文件的方式不同。只要看懂这张“文件地图”,后面的命令就会顺畅很多。
上一期我们认识了 Linux、终端和 Shell。这一期不背大量参数,只解决三个问题:我在哪里、这里有什么、怎样去别的地方。
普通人理解的文件,通常是照片、文档、视频和压缩包。但在 Linux 中,“文件”的范围更广:普通文档是文件,目录是特殊文件,很多设备和系统信息也会通过类似文件的方式呈现。
这种设计常被概括为“一切皆文件”。它不表示所有东西真的都是 Word 文档,而是说系统尽量用统一方式来访问和管理不同资源。
先记住一个称呼
Linux 文档里经常把“文件夹”称为“目录”。两者在日常理解上基本是同一回事,本文统一使用“目录”。
Windows 常用盘符区分不同分区,例如 C:\ 和 D:\。Linux 则把所有文件和设备组织在同一棵目录树中。
这棵树最顶端的位置叫根目录,写作:
所有目录、文件、磁盘分区和外接设备,最终都会连接到这棵树上的某个位置。它们不会各自成为一棵以盘符开头的树。
/
├─ home ├─ etc ├─ var
├─ usr ├─ tmp ├─ dev
└─ 其他目录……
根目录不等于管理员
根目录是文件系统的最顶层,用 / 表示;管理员账号叫 root。两个概念中文里都有“根”的感觉,但不是一回事。
不同发行版的结构会略有差异,但下面这些目录非常常见。初学时不必背诵,只需要知道系统文件和个人文件通常放在不同位置。
/var
保存经常变化的数据,例如日志、缓存和服务数据。
/tmp
用于存放临时文件,内容可能被系统自动清理。
/root
管理员 root 用户的个人目录,并不是根目录本身。
如果用户名是 xiaoma,主目录通常是:
这里相当于你的个人房间,可以保存文档、下载内容以及个人配置。普通用户通常有权管理自己的主目录,却不能随意修改系统的重要目录。
在命令行里,波浪号 ~ 常用来代表当前用户的主目录。因此:
可以分别理解为“我的主目录”和“我的主目录中的 Documents 目录”。
三个符号不要混淆
/:整个文件系统的根目录
~:当前用户的主目录
/root:管理员 root 的主目录
现实中寄快递要填写地址,电脑寻找文件也需要地址。这个地址就叫路径。
/home/xiaoma/Documents/note.txt这条路径从根目录 / 开始,依次进入 home、xiaoma、Documents,最后找到 note.txt。
Linux 使用正斜杠 / 分隔目录。不要和 Windows 路径里常见的反斜杠 \ 混淆。
绝对路径从根目录开始,提供一份完整地址。无论你当前在哪里,它指向的位置都不变。
相对路径从你当前所在的位置出发。它更短,但含义会随着当前位置改变。
绝对路径像完整快递地址:省、市、街道、门牌号全部写清楚。
相对路径像告诉身边的人:“从这里向前走,再进右边的门。”
这也解释了为什么同一个命令有时能成功,有时却提示目录不存在:你使用了相对路径,但执行命令时所处的位置变了。
进入陌生商场时,我们会先看楼层指示牌。在 Linux 中,pwd 就是查看当前位置的命令。
pwd 是 “print working directory” 的缩写,可以理解为“显示当前工作目录”。它只负责查看,不会修改系统。
知道自己在哪里后,下一步就是看看当前目录里有哪些内容:
如果想看到更详细的信息,可以加入选项:
-l:显示权限、大小、修改时间等详细信息
-a:包含以点开头的隐藏文件
-h:把文件大小显示成 KB、MB、GB 等易读形式
多个选项还可以组合。因此 ls -lah 会同时显示隐藏内容、详细信息和易读的文件大小。
cd 是 “change directory” 的缩写,用来切换当前目录。假设主目录中存在 Documents,可以这样进入:
也可以使用完整的绝对路径:
cd /home/xiaoma/Documents其中,一个点 . 代表当前目录,两个点 .. 代表上一级目录。这两个符号以后会频繁出现。
Linux 通常区分大小写,因此 Documents、documents 和 DOCUMENTS 可能是三个不同的目录。
如果目录名称中包含空格,也不能直接把它当成普通分隔符。假设目录叫 My Files,可以使用引号:
输入较长名称时可以先输入前几个字母,再按 Tab 键尝试自动补全。它不仅省时间,也能减少拼写错误。
初学者最重要的不是一次记住很多参数,而是建立一套固定思路:
pwd 我在哪里?
↓
ls 这里有什么?
↓
cd 我要去哪里?
每次不确定位置时,先执行 pwd;不知道目录名称时,先执行 ls;确认目标后,再使用 cd。这样比盲目尝试路径可靠得多。
本篇小结
/ 是整个 Linux 文件系统的起点。
~ 代表当前用户的主目录,.. 代表上一级目录。
绝对路径从根目录开始,相对路径从当前位置开始。
pwd、ls、cd 分别解决“在哪里、有什么、去哪里”。
动手练习
依次执行下面的命令,观察当前位置和目录内容如何变化。它们只查看或切换位置,不会删除、覆盖文件。
pwdlsls -lahcd /pwdlscd ~pwdcd -下一篇
创建和整理文件:mkdir、touch、cp、mv 怎么用?