3.Linux绝对路径与相对路径
Linux 绝对路径与相对路径
在 Linux 树形目录结构中,路径就是定位文件 / 目录的 “地址”,绝对路径和相对路径是两种定位方式,核心区别在于起始点不同。
一、绝对路径
1. 定义
从 根目录 / 出发的完整路径,相当于 “从城市原点出发的详细地址”。
2. 核心特征
- 路径开头必须是
/ - 唯一性:无论当前在哪个目录,绝对路径都能精准定位目标
- 稳定性:适合写脚本、配置文件(不会因当前目录变化而出错)
3. 示例
| 目标位置 | 绝对路径 |
|---|---|
| 普通用户主目录 | /home/zhangsan |
| 系统用户配置文件 | /etc/passwd |
| Nginx 配置文件 | /etc/nginx/nginx.conf |
| 临时文件目录 | /tmp |
二、相对路径
1. 定义
从 当前所在目录 出发的简化路径,相当于 “从你现在站的位置出发的路线”。
2. 核心特征
- 路径开头不是
/ - 相对性:同一个目标,在不同目录下的相对路径不同
- 便捷性:手动操作时输入更短
3. 关键特殊符号
这两个符号是相对路径的核心,必须牢记:
| 符号 | 含义 | 示例 |
|---|---|---|
. |
代表当前目录 | ./a.out → 当前目录下的可执行文件 a.out |
.. |
代表上一级目录(父目录) | ../src → 当前目录的上一级目录里的 src 文件夹 |
三、对比实操(最易理解的例子)
假设当前目录是 /home/zhangsan(用 pwd 命令可查看当前目录)
| 目标文件的绝对路径 | 相对路径写法(当前在 /home/zhangsan) |
解释 |
|---|---|---|
/home/zhangsan/code/test.c |
code/test.c |
直接进入当前目录的子目录 code |
/etc/hosts |
../../etc/hosts |
用 .. 回退到 /home → 再回退到 / → 进入 etc 找 hosts |
/home/root |
../root |
用 .. 回退到 /home → 进入 root 目录 |
四、使用场景选择
写脚本 / 配置文件 → 优先用绝对路径
比如定时备份日志的脚本,用
/var/log/syslog而不是../var/log/syslog,避免脚本在不同目录执行时找不到文件。手动终端操作 → 优先用相对路径
比如当前就在
/home/zhangsan,想打开docs/note.txt,直接输cat docs/note.txt,比输完整绝对路径省事。
五、补充:两个易错点
~是绝对路径的简写~等价于当前用户的主目录,属于绝对路径范畴:普通用户:
~→/home/用户名root 用户:
~→/root示例:
~/.bashrc→ 绝对路径是/home/zhangsan/.bashrc
区分大小写
Linux 路径严格区分大小写!
/home/ZhangSan和/home/zhangsan是两个不同目录,写路径时要注意。
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.