对于刚学计算机的朋友来说,常常会弄混绝对路径和相对路径,下面我详细介绍一下两者的区别。
一、绝对路径
绝对路径是从 / 开始,一层一层详细写出来的路径。比如现在有一个文件A.txt放在C盘的新建文件夹下,那么文件A.txt的相对路径就是"C:\新建文件夹\A.txt"
在Window磁盘里面,在复制文件地址的时候,我们复制的就是绝对路径,例如:"C:\Program Files\Google\Chrome\Application"
,绝对路径能直接清晰的表明文件存放在什么位置。跟从哪个目录(文件夹)开始无关,就是不管现在我们是在哪个目录下面,只要是绝对路径,一定是从根目录(/)开始,一层一层从上往下开始的。
Linux系统举例: 在blog目录下,新建了目录csdn,又在csdn目录下新建目录aa,所以目录aa的绝对路径是 /blog/csdn/aa/
,使用pwd可查看当前目录所在的绝对路径,其中第一个 / 代表根目录,之后的 / 只是起到分隔的作用。
[root@future aa]# pwd
/blog/csdn/aa
[root@future aa]#
使用tree命令可以查看层级结构
安装tree:yum install tree -y
[root@future blog]# tree
.
├── csdn
│ └── aa
├── for.sh
├── if.sh
[root@future blog]#
在任意目录,我们都可以使用绝对路径到达指定的目录下
[root@future etc]# cd /blog/csdn/aa
[root@future aa]#
二、相对路径
相对路径就是不以 / 开始,只以当前所在目录为参照,可进可退(直接往上一个目录或者下一个目录都行)
用 . . 表示上一级目录,. 表示当前目录
[root@future aa]# cd .. //往上一级目录
[root@future csdn]# cd aa //往下一级目录
[root@future aa]#
在当前目录下新建文件
[root@future blog]# touch file1 .
[root@future blog]# ls
a a.txt c=hello file1
[root@future blog]#
#####################绝对路径
[root@future blog]# touch /blog/csdn/file2
[root@future blog]# cd csdn
[root@future csdn]# ls
aa file2
[root@future csdn]#
在/lianxi目录下分别使用相对路径和绝对路径进入csdn目录
[root@future lianxi]# cd ../blog ///相对路径
[root@future blog]# cd /lianxi
[root@future lianxi]# cd /blog/csdn //绝对路径
[root@future csdn]# cd /lianxi
[root@future lianxi]# cd ../blog/csdn
[root@future csdn]#
总而言之,前面是以 / 开头的路径就是绝对路径,不是以 / 开头的路径就是相对路径。