Linux绝对路径和相对路径

♥️♥️♥️♥️♥️♥️Linux 系统中,文件是存放在目录中的,而目录又能够存放在其余的目录中,所以,用户(或程序)能够借助文件名和目录名,从文件树中的任何地方开始,搜寻并定位所需的目录或文件。html

 

说明目录或文件名位置的方法有两种,分别使用绝对路径和相对路径。绝对路径指的是从根目录(/)开始写起的文件或目录名称,而相对路径则指的是相对于当前路径的写法。python

换句话说,绝对路径必须以一个正斜线(/),也就是根目录开始,到查找对象(目录或文件)所必须通过的每一个目录的名字,它是文件位置的完整路标,所以,在任何状况下均可以使用绝对路径找到所需的文件。例如:linux

[root@localhost ~]# cd /usr/local/src
[root@localhost src]# cd /etc/rc.d/init.dbash

这些切换目录的方法使用的就是绝对路径。服务器

cd 是切换目录的命令,该命令的具体用法,会在后续章节中详细介绍。.net

而相对路径,就不是以正斜线开始,它是从当前所在目录开始,到查找对象(目录或文件)所必须通过的每个目录的名字。例如:code

[root@localhost /]# cd etc
#当前所在路径是/目录,而/目录下有etc目录,因此能够切换
[root@localhost etc]# cd etc
-bash:cd:etc/:没有那个文件或目录
#而一样的命令,因为当前所在目录改变了,因此就算是同一个命令也会报错,除非在/etc/目录中还有一个etc目录htm

一般状况下,相对路径比绝对路径短,这也是为何许多用户喜欢使用相对路径的缘由。对象

Linux绝对路径和相对路径
图 1 绝对路径和相对路径blog

再举个例子,如图 1 所示,假设用户当前所在的目录是 cat,而此时要切换到 dog 目录。在这种状况下,切换路径有如下 2 种表达方式:

  1. 使用绝对路径,写法为:/home/dog,表示要切换的目录为根目录下 home 目录中的 dog 目录;
  2. 也可使用相对路径,写法为:../dog,其中,.. 表示当前目录的父目录(home 目录),也就是说,相对于目前所在目录 cat,要切换到父目录 home下的 dog 目录。

学完以上 2 种路径的表达方式后,读者可能会问,绝对路径和相对路径,应该如何选择呢?

假设你编写完成了一个软件,该软件的安装文件分为 3 个目录,分别是 etc、bin 和 man 目录。可是,因为不一样的用户会将软件安装到不一样的目录中,好比用户甲将软件安装到了 /usr/local/package 目录中,而用户乙将软件安装到 /home/packages 目录中。考虑到这种状况,若是软件中涉及使用路径调取资源,就只能使用相对路径。

此外,一般咱们会将目录名写的很长,好让本身知道哪一个目录是干什么的。例如,有一个目录的路径为  /cluster/raid/output/c.biancheng.net/cyuyan,同时还有一个目录的路径为 /cluster/raid/output/c.biancheng.net/python,此时若是要从第一个目录切换到第二个目录,虽然可使用绝对路径,但明显使用相对路径更加方便,直接运行 cd ../python 命令便可成功切换。

须要注意的是,虽然绝对路径的写法相对比较麻烦,但能够确定,这种写法绝对不会有问题,而使用相对路径,可能会因为程序运行的工做环境不一样,致使产生一些问题。所以,选择使用绝对路径仍是相对路径,要结合具体的实际状况。有时,只能使用相对路径;而更多时候两种方式均可以,能够根据本身的喜爱选择。

2.9 Linux一切皆文件
2.10 Linux挂载
2.11 Linux服务器管理注意事项
Linux文件和目录管理
3.1 Linux文件系统层次结构
3.2 Linux文件系统不是必须的,而是必要的
3.3 Linux文件(目录)命名规则
3.4 Linux绝对路径和相对路径
3.5 Linux命令基本格式
3.6 Linux cd
3.7 Linux pwd
3.8 linux ls