Linux中的绝对路径与相对路径的区别

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux中绝对路径与相对路径的区别
这个教程以实例讲解Linux中的绝对路径与相对路径,了解二者之间的区别,同时了解在路径中单点“.”和双点“..”表示的意义。

Linux的文件系统由文件和目录组成,文件用于存储数据,目录用于系统性的组织文件。

在Linux中,root目录/ 是根目录,所有的文件和目录都在根目录下创建。

在系统中,文件和目录的位置称为其路径,根据写法的不同,分成两种类型:绝对路径和相对路径。

1.绝对路径
绝对路径从根目录/ 开始,一直到具体的目标文件。

这个路径包含了从根目录到文件经过的所有中间目录,如/root/aa/bb/cc/dd.txt,在路径中,在左边的是父目录,如dd目录是cc目录的父目录。

让我们举一个例子,假定一个用户sanjay在他的主目录中创建了一个test目录,那么这个创建的test目录的绝对路径是什么呢?
要写出这个目录的绝对路径,要从根目录/ 开始,接着再写用户主目录的目录名,缺省情况下,Linux系统把用户的主目录放在根目录/ 下的home目录下。

如果我们在根目录/ 下加上home目录的名字,就得到了home目录的绝对路径。

如果在home目录的绝对路径下加上用户主目录的名字,就得到了用户主目录的绝对路径。

默认情况下,Linux使用用户帐户的名字在home目录下创建用户主目录,在这个例子中,用户名为sanjay,因此sanjay主目录的名字同样为sanjay。

同样方法,如果我们在用户主目录下创建了文件或目录,在用户主目录的绝对路径后加上这个文件或目录的名字,就得到了这个文件或目录的绝对路径,在这个例子中,test目录的绝对路径为/root/home/sanjay/test。

注意点:
(1)绝对路径中的第一个/ 代表根目录,除此之外,路径中的其他/ 代表目录分隔符。

(2)在绝对路径中,除最后一个名称,其他的名称都是目录名,最后一个名称可以是文件名或目录名。

(3)在绝对路径中,目录名称书写时按照层次结构,在路径中,父目录的名称被写在左边。

(4)当改变当前目录时,绝对路径不发生改变。

(5)可用命令pwd获取当前目录的绝对路径。

2.相对路径
相对路径从当前目录开始,直到具体的目标文件。

相对路径依赖于当前目录,当改变当前目录时,相对路径也发生了改变。

在路径表示时,同绝对路径的写法一样,父目录写在左边。

同绝对路径不同的是,路径中所有的/ 符号都代表目录的分隔符。

在我们看具体的相对路径的实例前,先来了解在相对路径中单点“.”和双点“..”表示的意义。

3. Linux中的单点“.”和双点“..”
在Linux系统的每个目录中包含两种目录,单点“.”和双点“..”。

当一个目录被创建时,在目录中都会自动创建. 和.. 目录,默认情况下,这两个目录是隐藏的,用ls -a命令才能显示。

. 代表当前目录本身,.. 代表其父目录,在shell提示符下,可以分别使用. 访问当前目录,使用.. 访问其父目录。

相对路径中也用. 代表当前目录和用.. 代表父目录,使用这样的表示,我们就能够从当前目录创建任何文件或目录的相对路径。

下图显示了前面例子中用到的目录的相对路径。

看另一个例子,假定用户要访问一个文件,这个文件的位置相对于当前目录层次结构上两层,他可以使用以下的相对路径。

../../file
类似的,如果文件的位置相对于当前目录为上三层,可使用以下的相对路径表示。

../../../file
如果要访问的文件或目录的位置在当前目录层次结构以下,这是相对路径常用单点./ 开始,./ 代表当前目录。

举一个例子,在当前目录中有一个dir1目录,dir1目录下有一个文件abc,那么文件abc 的相对路径就表示为:
./dir1/abc
在执行命令时,shell把当前目录当作缺省目录,所以如果目录文件在当前目录的子目录中,我们可以在相对路径中省略开头的./ ,举例来说,访问以上的文件abc就可以使用以下的路径。

dir1/abc
在一些情况下,在相对路径中忽略当前目录可能造成命令的不明确,如要在当前目录下运行一个脚本文件,我们必须使用完整的相对路径描述。

比如在当前目录中有一个脚本文件exefile,执行此脚本文件时,要使用以下的命令:./exefile
而不是
exefile
以下我们看更多的例子来了解相对路径、绝对路径以及符号. 的使用。

现在运行以下表格中的命令。

命令描述路径
cat ./dir1/abc 打印文件abc的内容使用相对路径,路径中包括当前目录cat dir1/abc 打印文件abc的内容使用相对路径,路径中省略当前目录cd ./dir1 改变当前目录到dir1 使用相对路径
cd .. 改变当前目录到父目录使用相对路径
cd
改变当前目录到dir1 使用绝对路径
/home/sanjay/dir1
cp ./dir1/abc . 把文件abc拷贝到当前目录使用相对路径
./simple.sh 运行当前目录下的脚本simple.sh 使用相对路径
以下图示显示了以上命令的操作。

以上就是本教程的全部内容。

相关文档
最新文档