Linux 相对路径和绝对路径的使用

作者:沧海一笑-dj 时间:2023-11-03 23:58:38 

01. 概述

绝对路径和相对路径在shell环境中经常遇到,各有用处。有时候相对路径比较方便,有时候绝对路径比较方便。

02. 绝对路径(Absolute Pathname)

绝对路径必定由**/**开头

绝对路径是为档案/文件的所在位置做指向

在任何时候,都可以用绝对路径来找到我们想要的文件

举例说明


示例一:
/home/deng

示例二:
/usr/share/man

03. 相对路径(Relative Pathnames)

相对路径不由**/**开头

相对路径是相对于现在目前所在的位置,为目的地指向

通常相对路径比绝对路径短一点,可以当成我们迅速找到文件/档案的捷径


示例一:
../test/itcast

示例二:
./test

04. 相对路径的用途

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

此外,如果你跟鸟哥一样,喜欢将路径的名字写的很长,好让自己知道那个目录是在干什么的,例如: /cluster/raid/output/taiwan2006/smoke 这个目录,而另一个目录在 /cluster/raid/output/taiwan2006/cctm ,那么我从第一个要到第二个目录去的话,怎么写比较方便? 当然是cd …/cctm比较方便罗!对吧!

05. 绝对路径的用途

但是对于文档名的正确性来说,『绝对路径的正确度要比较好~』。 一般来说,鸟哥会建议你,如果是在写程序 (shell scripts) 来管理系统的条件下,务必使用绝对路径的写法。 怎么说呢?因为绝对路径的写法虽然比较麻烦,但是可以肯定这个写法绝对不会有问题。 如果使用相对路径在程序当中,则可能由于你运行的工作环境不同,导致一些问题的发生。

06. 思维发散

问题: 在给出相对路径时,系统如何识别其相应的绝对路径呢?

事实上,相对路径是根据PATH环境变量来查找绝对路径的。

举例来说,我目前在 /home/itcast 这个 itcast使用者的家目录中,我想要看看里面的 .bashrc 这个档案的数据,使用的是 more 这个指令,而这个指令在 /bin/more 当中。通常的命令写法是:


[itcast@localhost ~]$ more .bashrc

而由于PATH变量的值为:


[deng@localhost ~]$ echo $PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/deng/.local/bin:/home/deng/bin
[deng@localhost ~]$

在执行more命令时,shell会根据PATH变量的路径中顺序查找,一旦查找匹配到(此例匹配到的应该是/bin/more),便执行/bin/more .bashrc。这便是执行命令时由相对路径查找绝对路径的过程。

所以我们就可以理解为什么执行当前目录下的可执行程序应该用的格式是:


[deng@localhost ~]$ ./test.sh

而不是直接用test.sh了。因为通常PATH变量不包含当前路径。如果不加./会导致相对路径格式的命令找不到绝对路径。

来源:https://blog.csdn.net/dengjin20104042056/article/details/95518444

标签:Linux,相对路径,绝对路径
0
投稿

猜你喜欢

  • z-blog调用Discuz论坛最新贴

    2010-01-15 15:46:00
  • Google Earth 5.1正式版发布 速度很大提升

    2009-11-20 14:04:00
  • 备份和恢复Windows IIS服务器设置

    2008-02-01 13:29:00
  • 必须了解的五个服务器基础问题

    2009-01-13 16:50:00
  • linux环境不使用hadoop安装单机版spark的方法

    2023-08-06 06:00:28
  • Windows2003服务器安装及设置教程——注册表篇

    2010-02-08 12:59:00
  • 关于网站收录的一些思考

    2008-04-07 13:18:00
  • 浅谈中国个人站长的发展

    2008-01-01 15:38:00
  • 美图秀秀新版闪图DIY和超强一键美白功能

    2009-10-30 15:16:00
  • cloudstack下libvirtd服务无响应问题

    2023-07-26 05:38:44
  • WordPress更换域名301 rewrite 重写方法

    2010-03-22 09:55:00
  • Facebook用户破3.5亿 取消区域性网络保护隐私

    2009-12-03 14:38:00
  • 微软5月底推免费望远镜工具 与谷歌天空竞争

    2008-05-13 12:29:00
  • 从七方面,改善网站的用户体验

    2008-01-09 21:27:00
  • GoDaddy:如何更改主域名

    2010-04-26 12:33:00
  • 中国网游山寨化严重:新游戏3天就被山寨

    2009-10-23 07:48:00
  • 2022最新版VMware虚拟机安装CentOS7安装的图文教程

    2022-05-27 15:25:47
  • 分级防御 针对Linux服务器攻击防范

    2009-09-20 20:04:00
  • 2007中国互联网哈哈榜之七大关键词

    2007-12-28 13:24:00
  • 在产品环境中使用32位Exchange 2007

    2010-03-13 19:05:00
  • asp之家 网站运营 m.aspxhome.com