Absolute File Path 绝对路径

根目录 开始的完整文件路径。 不管你当前在哪个目录,绝对路径永远指向同一个文件。

例子

Linux/macOS:  /home/shawn/docs/notes.md
Windows:      C:\Users\Shawn\Documents\notes.md

相对路径 对比:

绝对路径相对路径
起点根目录当前目录
跨目录使用永远准确依赖当前位置
长度
适用脚本、配置文件日常命令

什么时候必须用绝对路径

  • cron 定时任务 —— cron 的当前目录不固定,必须绝对
  • 配置文件里的路径 —— 系统启动时 cwd 不可预测
  • 跨用户共享脚本 —— 不同用户的 home 不一样

安全相关

  • Path traversal 攻击 —— ../../../etc/passwd 跳出预期目录读敏感文件
  • 关键 权限 检查时用绝对路径,避免被符号链接欺骗