前言
在操作系统中,路径指的是文件的存放位置,例如windows中C:\Users\HEAD
表HEAD目录的路径。在linux中类似,只是路径的描述方式有区别,例如/home/scg
表示scg目录的路径。在任何命令中,只要告诉我们要操作的文件的路径,那么就能找到那个文件。
绝对路径与相对路径
指明文件的路径有两种方式,分别是绝对路径和相对路径。
绝对路径
绝对路径指的是由根(/
)开始写的路径,目录层级用斜杠(/
)来分隔的路径。例如:
[root@cuixi ~]# pwd
/root
[root@cuixi ~]# cd /home/scg <--使用绝对路径的方式切换到scg目录中
[root@cuixi scg]# cd <--回到root家目录
[root@cuixi ~]# cd scg <--不使用绝对路径,系统可能找不到scg
-bash: cd: scg: No such file or directory
相对路径
相对路径指的是从当前所在位置(工作目录)开始写,一般是以.(当前目录)或者..(父目录)开头的路径。目录层级同样是用斜杠(/
)来分隔。例如:
[root@cuixi ~]# pwd <--当前目录为/root
/root
[root@cuixi ~]# cd ../home/scg <--使用相对路径切换到scg,../home/scg表示当前目录的父目录下的home下的scg。
[root@cuixi scg]#
[root@cuixi scg]# ls
Desktop Documents Downloads Music Pictures Public Templates Videos <-- 查看当前目录下的内容
[root@cuixi scg]# cd ./Downloads/ <--相对路径方式切换到当前目录下的Downloads
[root@cuixi Downloads]# pwd
/home/scg/Downloads
[root@cuixi Downloads]# cd ../../../root <--相对路径方式切换到root目录下
[root@cuixi ~]# pwd
/root
注意:当路径是以点(./
)开头的时候,./
可以省略,比如上面例子中的cd ./Downloads
可以写成cd Downloads
。
[root@cuixi scg]# ls
Desktop Documents Downloads Music Pictures Public Templates Videos
[root@cuixi scg]# cd Downloads/ <-- ./Downloads/的简写方式。
[root@cuixi Downloads]# pwd
/home/scg/Downloads
[root@cuixi Downloads]#
总结
绝对路径是从根目录开始的,只要文件存在,那么文件的绝对路径就是固定不变的。而相对路径是相对当前工作目录而言的,只要工作目录发生了变化,对同一个文件的相对路径就会发生变化,所以文件的相对路径不是固定不变的。
在日常使用过程中,根据自己的需要选择绝对路径还是相对路径,一般情况下,哪一个写起来比较简单就用哪一个。