Relative File Path 相对路径
从当前所在目录算起的文件路径。 跟 绝对路径 相对。
特殊符号
| 符号 | 含义 |
|---|---|
. | 当前目录 |
.. | 上一级目录 |
~ | 当前用户的 home 目录 |
例子
假设当前在 /home/shawn/docs/:
notes.md → /home/shawn/docs/notes.md
./notes.md → 同上
../photos/a.jpg → /home/shawn/photos/a.jpg
../../etc/passwd → /etc/passwd
~/projects/ → /home/shawn/projects/
什么时候用
- 日常命令 ——
cd docs,cp a.txt b.txt - 项目内引用 —— 代码里
import './utils' - 可移植脚本 —— 不依赖具体位置
安全场景:Path Traversal
# 危险:用户输入直接拼路径
filename = request.args.get('file')
open('/var/www/uploads/' + filename)
# 用户传 filename = '../../../etc/passwd'
# 实际打开:/etc/passwd ← 灾难防御:永远 validate + 用 absolute path + 检查 prefix,不能信任用户给的相对路径。