绝对路径、相对路径
在Linux中,文件路径分为两种:绝对路径和相对路径。路径是指文件和目录的引用方式,最基本的概念之一。它给出了文件或目录在 Linux 目录结构中的位置,由名称和斜杠组成。
一、说明
在Linux中,文件路径分为两种:绝对路径和相对路径。路径是指文件和目录的引用方式,最基本的概念之一。它给出了文件或目录在 Linux 目录结构中的位置,由名称和斜杠组成。
作为一个系统用户,当想要访问某个文件或目录,或者必须为命令或脚本指定文件或目录的位置时,就会使用路径。
二、绝对路径
在Linux系统中,绝对路径一定是由根目录 / 开始写起。
简单判断,如果一个命令后面的路径是以 / 开头,就是绝对路径,不是,就是相对路径了。绝对路径是从linux最底层的根(/)开始算。
例如:
cd /etc/sysconfig/network-scripts/
/etc/sysconfig/network-scripts/就是绝对路径;
绝对路径:/etc/sysconfig/network-scripts/,从根开始的路径
三、相对路径
相对路径不是从根目录 / 开始写起,都是相对路径。
相对路径取决于当前的位置。
两种方式
1.使用“../”来表示上一级目录,“../../”表示上上级的目录
示例:[root@centos7 wangwang]#cd ../../etc/sysconfig/
此种写法,以..开头就是,就是相对路径
.则是表示目前所在的目录,
..则表示目前目录位置的上一层目录。
2.其他非根开头的路径,从当前所在的工作目录开始,直接进入到下级目录。
所以,cd home , home就是指当前工作目录下的home目录,也就是相对路径。
相对路径就是相对当前你所在路径开始算。
示例:
[root@centos7 /]#cd home
可以使用pwd命令查看当前工作目录
四、绝对路径和相对路径的使用
例1:
绝对路径
[root@centos7 wangwang]#cd /home/wangwang
[root@centos7 wangwang]#pwd
/home/wangwang
相对路径
[root@centos7 ~]#cd ../home/wangwang
[root@centos7 wangwang]#pwd
/home/wangwang
../home/wangwang就是相对路径
注意后面两个的对比,../是回到上一级然后在往后算。
例2:
假设我们使用已在上级目录中(wangwang),需要查看下级目录的文件信息,
绝对路径
[root@centos7 wangwang]#ls /home/wangwang/dir1
dir2
相对路径
[root@centos7 wangwang]#ls dir1
dir2
例3:
从usr/bin跳到/home/jiang/dir
相对路径:
[root@centos7 bin]#pwd
/usr/bin
[root@centos7 bin]#cd ../../home/jiang/dir
[root@centos7 dir]#pwd
/home/jiang/dir
绝对路径:
[root@centos7 dir]#cd /home/jiang/dir
例4:
假设位于/home/wangwang/dir1/dir2/dir3/dir4目录中,并且需要访问 /home/wangwang/dir1/dir2/test目录中。使用相对路径可以避免键入所有冗长的目录名,只需在此处使用 ../../test即可。
[root@centos7 dir4]#pwd
/home/wangwang/dir1/dir2/dir3/dir4
[root@centos7 dir4]#cd ../../test
[root@centos7 test]#pwd
/home/wangwang/dir1/dir2/test
例5:
假设位于/home/wangwang/dir1/dir2/dir3/dir4/dir5目录中,并且需要访问 /home/wangwang/dir1/dir2/test目录中。使用相对路径可以避免键入所有冗长的目录名,只需在此处使用 ../../../test即可。
[root@centos7 dir5]#pwd
/home/wangwang/dir1/dir2/dir3/dir4/dir5
[root@centos7 dir5]#cd ../../../test
[root@centos7 test]#pwd
/home/wangwang/dir1/dir2/test
注意:
相对目录是从当前目录开始,与目标路径的变化量,相差的路径。
要进入的路径目录/usr/bin,../../就是相当于当前目录的两级。
要进入的路径目录/home/wangwang/dir1/dir2/test,../../../test就是相当于不同的三级目录。
但是,如果你要从 /home/wangwang/dir1/dir2/dir3/dir4/dir5目录访问 /usr/bin 目录中的某些内容,那么使用 ../../../../../../../usr/bin会比较麻烦,这个时候使用绝对路径更方便。
(因为有7个目录都不同,需要返回到根)
例6:假设位于/home/wangwang/dir1/dir2目录中,并且需要访问 /home/wangwang/dir1/dir2/dir3/dir4/dir5目录中。使用相对路径可以避免键入所有冗长的目录名,只需在此处使用./dir3/dir4/dir5/即可。
[root@centos7 dir2]#pwd
/home/wangwang/dir1/dir2
[root@centos7 dir2]#cd ./dir3/dir4/dir5/
[root@centos7 dir5]#pwd
/home/wangwang/dir1/dir2/dir3/dir4/dir5
五、总结
为什么要使用 ../
因为相对路径要从当前目录开始,我们需要告诉 cd 命令向上一级,将我们带到 上级相同的目录,然后从那里在进入到 目标目录。
使用哪种路径方式,这要视情况而定。变化的路径太长,则就不用相对路径,还是用绝对路径。
如果当前所在的目录层次结构比较深,并且需要向上或者向下一级移动,那么使用相对路径会更简单。
另一种情况,是在脚本或者web程序中使用路径。如果位置是确定的,那么就使用绝对路径;如果web相关,不确定最终用户会将程序放在什么地方,那么此处需要使用相对路径。
绝对路径和相对路径是路径的两种表现形式,应遵循最短路径原则。
(使用最短的路径操作某个文件或者目录)。
如果切换的目录离当前目录近可以使用相对路径。
如果切换的目录离根目录近可以使用绝对路径。
如果切换的目录离根目录和当前目录都一样那么使用绝对路径,因为这样路径很清楚和明确,方便阅读。
更多推荐
所有评论(0)