UNIX 中的绝对和相对路径名
路径是操作系统文件系统中文件或文件夹的唯一位置。文件路径是 / 和字母数字字符的组合。
绝对路径名
绝对路径定义为从根目录 (/) 指定文件或目录的位置。
写一个绝对路径名:
- 从根目录 ( / ) 开始并向下工作。
- 在每个目录名后写一个斜杠 ( / )(最后一个是可选的)
例如 :
$cat abc.sql
仅当当前目录中存在文件“abc.sql”时才有效。但是,如果此文件不存在于您的工作目录中并且存在于 /home/kt 中的其他位置,则此命令仅在您使用它时才起作用,如下所示:
cat /home/kt/abc.sql
在上面的例子中,如果路径名的第一个字符是 /,那么文件的位置必须相对于 root 来确定。当路径名中有多个 / 时,对于每个这样的 /,您必须在文件系统中下降一级,就像上面的 kt 比 home 低一级,因此比 root 低两级。
An absolute path is defined as specifying the location of a file or directory from the root directory(/). In other words,we can say that an absolute path is a complete path from start of actual file system from / directory.
相对路径
相对路径定义为直接与当前工作相关的路径(pwd)。它从您当前的目录开始,永远不会以 / 开头。
更具体地说,让我们看一下下图,如果我们正在寻找照片,那么它的绝对路径将作为/home/jono/photos 提供,但假设我们已经存在于 jono 目录中,那么它的相对路径同样可以写成简单的照片。
使用 。和 .. 在相对路径名中
UNIX 在相对路径名中提供了一个快捷方式——使用当前或父目录作为参考并指定相对于它的路径。相对路径名使用以下神秘符号之一:
.(a single dot) - this represents the current directory. ..(two dots) - this represents the parent directory.
现在,这实际上意味着如果我们当前在目录 /home/kt/abc 中,现在您可以使用..作为cd的参数移动到父目录 /home/kt 为:
$pwd /home/kt/abc $cd .. ***moves one level up*** $pwd /home/kt
注意:现在/当与 .. 一起使用时具有不同的含义;它不是向下移动一级,而是向上移动一级:
$pwd /home/kt/abc ***moves two level up*** $cd ../.. $pwd /home
绝对路径和相对路径示例
假设您当前位于 home/kt 并且您想将目录更改为 home/kt/abc。让我们看看绝对和相对路径的概念来做到这一点:
- 使用相对路径概念更改目录:
$pwd /home/kt $cd abc $pwd /home/kt/abc
- 使用绝对路径概念更改目录:
$pwd /home/kt $cd /home/kt/abc $pwd /home/kt/abc
- 使用相对路径概念更改目录: