相对路径和绝对路径

7.1  目录与路径操作

前一章介绍了Linux树状目录的概念,接下来就要实际解决一些基本的路径问题了。这些目录的问题中,最重要的概念就是“绝对路径”与“相对路径”。

7.1.1  相对路径与绝对路径

在切换目录之前,必须要先了解一下“路径(PATH)”,什么是“相对路径”与“绝对路径”,虽然前一章已经提过一次,不过,这里还要再次强调。

前面介绍过,Linux里面的目录是“树状目录”,就是有分支的目录。假设需要在任意一个目录下切换到根目录的etc,就要使用“cd /etc”,这就是所谓的“绝对路径”,它是从根目录连续写,不论在哪一个路径执行这一个命令,都会移动到该路径。如果使用“cd etc”呢?就表示要切换到“当前这个目录下的etc目录中”,情况是不一样的。通常第一次接触Linux的用户常会搞错路径的概念。

 绝对路径:路径的写法“一定由根目录 / 写起”,例如:/usr/share/doc目录。
• 相对路径:路径的写法“不是由 / 写起”,例如由 /usr/share/doc要到 /usr/ share/man,可以写成“cd ../man”,这就是相对路径的写法。相对路径指“相对于当前工作目录的路径”。

那么,相对路径与绝对路径有什么用处呢?假设你写了一个套件,这个套件共需要3个目录,分别是etc、bin、man,然而,由于不同的人要安装在不同的目录下,假设甲安装的目录是 /usr/local/ packages/etc、/usr/local/packages/bin及 /usr/local/packages/man,不过乙却喜欢安装在 /home/packages/etc、/home/packages/bin, /home/packages/man,如果需要用到绝对路径的话,是否很麻烦呢?是的。如此一来,每个目录下的东西就很难对应起来。这个时候相对路径的写法就特别重要了。

此外,如果你与笔者一样,喜欢将路径的名字写得很长,以便知道哪个目录是在干什么的,例如/data4/staiwan19961109/models-3/smoke目录,而另一个目录在 /data4/staiwan19961109/models-3/cctm,要从第一个到第二个目录,怎么写比较方便?当然是“cd ../cctm”。

但是,对于文件的正确性来说,“绝对路径比较好”。一般来说,笔者建议,如果是在写程序(shell scripts),务必使用绝对路径。因为绝对路径的写法虽然比较麻烦,但可以肯定,这个写法绝对不会有问题。如果在程序中使用相对路径,则可能由于执行的工作环境不同,导致出现一些问题。这在例行性命令中尤其重要,第13章会介绍相关内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值