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
猜你喜欢
- named查询使用的是UDP协议和端口53。响应通过UDP返回,除非他们大于512K,这种情况使用TCP。服务器之间的“区传送”则都使用TC
- 8月份曾应朋友的邀请,参与了谷歌公司的一个内部活动,跟谷歌的Adsense、搜索质量组、Adwords部门部分员工进行一个对话。对话前谷歌的
- 自己接触优化有一段时日了,经常有不少朋友加我QQ,问我如何把他说的关键字做到百度或者谷歌首页第一位,怎么跟他们说呢,我只能告诉他们,网站排名
- UCenter Home是Comsenz公司发布的一款SNS建站系统,目前最新版本是1.5。本期教程笔者为大家详细的介绍下,UCenter
- Ftp协议的两种工作模式:主动模式active和被动模式passiveFTP 是一种数据传输协议 (File Transfer Protoc
- 无处不在的WEB2.0 正式成为主流,人们通过对XML和RSS等标准格式、面向服务的网络应用程序、用户控制的数据的应用,认识到了英特网真正的
- 最近有一个用户提出想以文章的标题前缀筛选出文章,想定制一个标签,殊不知这功能在我们系统的标签已经能轻易实现,那最常用的标签“通用信息列表”为
- 前一段时间XP系统自动打了KB942830和KB942831补丁,后来发现IIS突然就不能启动了,老是处于“停止”状态,而且手动
- 早报讯 昨(11)日,记者获悉,随着电子商务的发展,通过电子商务网络订房订票的游客逐渐增多。据数据分析,“黄金周&
- WindowsXP专业版操作系统中最多允许10个客户端的连接,在Windows2000服务器版或Windows2003服务器版操作系统中不存
- 很多站长经常会向我们询问:“主题推广如何为站点匹配出相关度高的推广信息?”基于这个问题,我们将为大家
- 一、apache、php、mysql安装1.安装php分步式安装:下载php:wget http://cn2.php.NET/get/php
- 1.从容器中将文件拷贝到宿主机上。在宿主机你想要接收文件的地方,运行下面的指令docker cp 容器id:home/test .docke
- 做过Google Adsense的站长都明白,打去年起Google Adsense的单价就节节降,原因很多:一是国内广告市场普遍如此,另一个
- 前言在我们开发测试过程中,需要频繁的更新docker镜像,然而默认情况下,docker的2375端口是关闭的,下面介绍如何打开端口。1、打开
- 许久没发这类日志了今天在戒聊的帮助指导下终于将Gravatar整合进了PJBlog3的评论中~话不多说,修改教程奉上!(不知道什么是Grav
- 关于GG的我只能写那么多了,写的不好别见怪~~~本文章是给新人看的,老鸟漂过就是了~~关于作弊本人提倡的是尽量不要作弊,但是往往有很多人做G
- 什么是友情链接,友情链接的作用和好处: 友情链接是一种网站之间的简单合作形式,即分别在自己的网站上以文字、图片或其他形式的载体链接到对方的网
- 综合化数字媒体与家庭娱乐软件方案Nero今天发布了新版本“Nero 9 Reloaded”,全面兼容
- 原计划于9月初发布的Firefox 3.6 Beta 1一直到10月30日才发布,就在大家关心正式版是否能如期发布时Mozilla发表了一份