每个刚开始学编程的小白都会遇到文件路径写错的问题,看了很多文章写的很长,没有言简意赅的解决初学者的问题。
1. 首先要理解“绝对路径”和 “相对路径”的概念
-
绝对路径指的是从根目录"/"开始写的路径
-
相对路径是从当前位置开始写的路径
例如我们当前在/home文件夹中, alice文件夹的
绝对路径是/home/alice
相对路径是./alice
也可以直接写成alice
2. 举个栗子(相对路径)
绝对路径很好写,大家一般出错的是相对路径的写法。
很多文章里告诉大家:./
代表目前所在的目录,../
代表上一层目录, /
代表根目录。
我们下面用栗子说明:
university文件夹里面有两所学校CMU和Stanford,两所学校分别都有CS和EE两个系。
- 栗子1:假设我们在Stanford文件夹里, Tom的路径是什么?
这个很简单:./CS/Tom
, 意思是到当前目录下./
的CS子文件夹
(当前目录的后代用./
) - 栗子2:假设我们在Stanford文件夹里, Rick的路径是什么?
这个就要回到上层文件夹了,../CMU/CS/Rick
,意思是到兄弟文件夹
(当前目录的亲兄弟用../
,有同一个爸爸) - 栗子3:假设我们在Stanford/CS文件夹里,Rick的路径是什么?
这个要到爷爷文件夹里面找了,答案是../../CMU/CS/Rick
,这就是表兄弟文件夹
(当前目录的表兄弟用../../
,有同一个爷爷)
3. 总结一下
./
代表往下一代,多一代多一个文件夹名加/
../
代表往上一代,往上追溯一代多加一个../