在 Linux 中,每个文件和目录都有自己的位置。为了告诉命令“你想操作哪个文件或目录”,我们需要使用路径(path)。路径主要分为两种:绝对路径和相对路径。
绝对路径
绝对路径从根目录 / 开始,完整描述目标在整个文件系统中的位置。例如 /home/alice/Documents/report.txt。因为它包含完整位置,所以无论当前位于 /tmp 还是 /home/alice,cd /var/log 都会尝试进入同一个 /var/log。
/homealiceDocumentsreport.txt
从左到右读:根目录 → home → Alice 的主目录 → Documents → 最终文件。
相对路径
相对路径不以 / 开头,而是以当前工作目录为起点。如果当前位置是 /home/alice,cd Documents 会进入 /home/alice/Documents;如果当前位置变成 /home/bob,同样的路径就会指向 /home/bob/Documents。
三个实用记号
. · 当前目录 ls . 查看当前目录;./setup.sh 明确运行这里的脚本。
.. · 父目录 从 /home/alice/Documents 执行 cd ../.. 会向上两层,到达 /home。
~ · 主目录 对 Alice 来说,~ 通常展开为 /home/alice,所以可写 cd ~/Documents。
组合路径 各部分用 / 分隔,例如 Documents/project 或 ../bob。
什么时候使用哪一种?
绝对路径适合固定位置、系统目录,以及不应依赖当前目录的配置或脚本。相对路径适合在项目内部、目标就在附近时快速操作。例如已位于 /home/alice/projects/myapp 时,cd src 通常比输入完整路径更方便。
快速判断: 以 / 开头的是绝对路径;Documents/report.txt、../Downloads 和 ./script.sh 都是相对路径。~ 是 Shell 在命令执行前展开的主目录快捷写法。
路径解析器
模拟终端已启动。输入命令,观察输出和右侧文件系统。
/homealicearchivebackupcachedataindex.bin
DocumentsDownloadsemptyPicturesprojectsrcREADME.md
.bashrc.profileaccess.logapp.logdraft.txterror.lognotes.txt
varlogsyslog
快捷按钮只负责填入命令;点击运行或按 Enter 后,终端和文件系统才会变化。知识测验
知识测验
为备份任务写出路径
你当前位于 /home/alice/projects/site。每项只写一条命令,并按要求使用绝对或相对路径。
- 用相对路径查看项目的 assets 目录。
- 用相对路径进入同级项目 /home/alice/projects/api。
- 用绝对路径查看 /var/log。
- 用 ~ 进入 Alice 的 Documents。