Linux下两种文件路径名的表示方法

转自:http://blog.chinaunix.net/uid-20422917-id-1682795.html

绝对路径与相对路径

除了需要特别注意的FHS目录配置外,在档名部分我们也要特别注意喔!因为根据档名写法的不同,也可将所谓的路径(path)定义为绝对路径(absolute)与相对路径(relative)。 这两种档名/路径的写法依据是这样的:

    * 绝对路径:由根目录(/)开始写起的档名或目录名称, 例如 /home/dmtsai/.bashrc;
    * 相对路径:相对于目前路径的档名写法。 例如 ./home/dmtsai 或 ../../home/dmtsai/ 等等。反正开头不是 / 就属于相对路径的写法

而你必须要瞭解,相对路径是以‘你当前所在路径的相对位置’来表示的。举例来说,你目前在 /home 这个目录下, 如果想要进入 /var/log 这个目录时,可以怎么写呢?

   1. cd /var/log   (absolute)
   2. cd ../var/log (relative)

因为你在 /home 底下,所以要回到上一层 (../) 之后,才能继续往 /var 来移动的! 特别注意这两个特殊的目录:

    * .  :代表当前的目录,也可以使用 ./ 来表示;
    * .. :代表上一层目录,也可以 ../ 来代表。

这个 . 与 .. 目录概念是很重要的,你常常会看到 cd .. 或 ./command 之类的指令下达方式, 就是代表上一层与目前所在目录的工作状态喔!很重要的呐!
例题:
如何先进入/var/spool/mail/目录,再进入到/var/spool/cron/目录内?
答:
由于/var/spool/mail与/var/spool/cron是同样在/var/spool/目录中,因此最简单的指令下达方法为:

   1. cd /var/spool/mail
   2. cd ../cron

如此就不需要在由根目录开始写起了。这个相对路径是非常有帮助的!尤其对于某些软体开发商来说。一般来说,软体开发商会将资料放置到/usr/local/里面的各相对目录,你可以参考图3.2.1的相对位置。但如果使用者想要安装到不同目录呢?就得要使用相对路径啰!^_^

例题:
网路文件常常提到类似‘./run.sh’之类的资料,这个指令的意义为何?
答:
由于指令的执行需要变数(bash章节才会提到)的支援,若你的执行档放置在本目录,并且本目录并非正规的执行档目录(/bin, /usr/bin等为正规),此时要执行指令就得要严格指定该执行档。‘./’代表‘本目录’的意思,所以‘./run.sh’代表‘执行本目录下,名为run.sh的档案’啰! 

你可能感兴趣的:(linux)