为什么系统可执行文件多用相对路径创建链接

为什么系统可执行文件多用相对路径创建链接

使用链接有什么好处

作为一个linux初学者,我们首先要知道,在linux中使用链接的好处是什么。总结下来一共有几个:

  1. 使用链接可以使我们在访问文件时省去一大笔敲文件路径的时间。对于我们运维工程师来说,我们经常要查看某个文件或者访问某个目录,再进行该项工作时,往往需要敲很多路径才能找到我们想访问的文件,创建链接可以让我们不需要知道某个文件的具体路径时什么,便可以直接通过链接去访问该文件,这样便会大大提升我们的工作效率。毕竟谁不愿意早点做完自己的工作,去享受自己惬意悠闲的时光呢。
  2. 使用链接可以帮我们节省硬盘空间。在工作中我们往往需要对一个文件在不同的路径让我们使用,可是每次复制一次文件都会占用一些硬盘空间,可不要小看这些文件,可能刚开始空间的占用并不会太多,随着我们工作的深入,以及服务器的长时间运行,多余的文件会越来越多,说不定某天就会因为存储空间被爆满而宕机,那时候后果就很严重了。而使用链接,就可以帮我们大大减少文件的重复存储,为我们的硬盘瘦身,从而增加我们解决危机的机会。
  3. 使用连接可以帮我们减少效率低下的重复工作。在工作中,如果我们有一个相同的文件,在不同的目录下存储,而有一天需要对文件进行修改,我们需要花费多次找到这些文件进行一一修改,这回大大增加我们的工作繁琐度,降低我们的工作效率,而且多次修改也潜在的增加了文件修改的错误率。而使用链接则会大大提升我们的效率,例如我们给一个文件设了100个硬链接,在需要修改的的时候,只需要修改源文件就好了,而这些链接的和原文件其实时一个东西,这样的话是不是就会大大节省我们的时间呢?

链接的分类以及不同之处

在Linux中链接分为两类一个是硬链接一个就是符号链接(软连接),它们是两类特殊的文件。软链接可以看作是Windows中的快捷方式,可以让你快速链接到目标档案或目录。硬链接则透过文件系统的inode来产生新档名,而不是产生新档案。

对于Linux来说,它们有着不同的作用,担负着不同的使命。

  • 硬链接与原文件是平等关系,是相同数据的不同名称,之间没有依赖关系,它们指向文件数据,二者所占空间相同。软连接是原文件的一个快捷方式,是不同的一个文件,所占空间不同,而且软连接依赖原文件而存在,如果删除原文件,软连接就会失效。
  • 硬链接创建后文件的链接数会增加(即Inode数量会发生变化),而且和原文件相同。软连接的创建并不会增加文件的链接数(即对Inode值无影响)。
  • 硬链接不支持跨分区创建,而且目录不支持创建硬链接;软连接可以跨分区创建,也可以为目录创建软连接。

小知识:任何目录的节点数至少有两个,由于不能对目录创建硬链接,而软连接又不会增加目录的节点数,所以目录的节点数的多少与其子目录有一定的关系哦,原则上是成正比的。

路径的分类以及不同之处

了解过关于软硬链接的知识后,就让我们一起看一下在Linux中路径是什么,它们有什么不同。

在Linux中文件的路径分为两种一个是绝对路径,即从根目录到文件的完整路径。例如:/home/test/point/last.txt 就是这个last.txt 文件的绝对路径。而相对路径指的是,文件相对当前工作目录所在目录的路径。例如:我现在整理/etc/happy/help.txt文件,现在要找到last.txt这个文件的话就需要进行cat ../../home/test/point/text.txt操作才能看到last.txt文件的内容。而这个../../home/test/point/text.txt便是相对于我现在的工作目录/etc/happy/help.txt而言,文件text.txt的相对目录。

对于相对路径和绝对路径来说它们的不同更多的是从概念上来说的,绝对路径是文件的真正路径,除非文件被移动,绝对路径的表达不会发生变化;而相对路径只是相对于我们当前工作目录而言的文件路径,这个路径的表达是可以不同的。

小知识:相对路径和绝对路径并没有好坏之分,它们有着各自不同的用处,但是系统可执行文件大部分用的是相对路径。

为什么要系统可执行文件多用相对路径创建链接

说了这么多,其实重点在于帮助大家在了解文件路径和链接的基础上更好的了解我们的主题:使用相对路径创建链接!

就拿软链接来说吧,我们用具体的事例来说明这一点。

例如某项工作需要我们为/home/happy/help.txt/home/happy/point/下创建一个软连接。我们分别为其用相对路径和绝对路径创建一个链接,(为了区分,用绝对路径创建的链接成为help.link,用相对路径创建的链接成为HELP.LINK)。具体操作如下:

利用绝对路径创建链接:

为什么系统可执行文件多用相对路径创建链接

利用相对路径创建链接:

为什么系统可执行文件多用相对路径创建链接

这时我们的顶头BOSS让我们把目录/happy移到另一个目录/app下,这时候我们的链接会发生什么变化呢?

为什么系统可执行文件多用相对路径创建链接

可以看到,我们用绝对路径创建的软链接已经失效了,主要是因为它们共同的父目录发生了移动,用绝对路径的链接就会是错误的,而相对路径创建的链接就不会受到影响。因此这也是系统执行文件的链接多用相对路径的原因。

PS:小白投稿,如有错误,欢迎指正。

原创文章,作者:OscaoChaser,如若转载,请注明出处:http://www.178linux.com/82546

(0)
OscaoChaserOscaoChaser
上一篇 2017-07-23 20:53
下一篇 2017-07-23 23:11

相关推荐

  • N26-第三周作业

    N26-第三周作业 一、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@promote ~]# who root     tty1         2017-03-10 22:36 lxk…

    Linux干货 2017-03-11
  • 高可用keepalived

    21.高可用之keepalived                keepalived实现wrrp热网关备份:        配置网关上的keepalived,配置文件如下         …

    2017-05-15
  • 小型网站MYSQL问题二:Percona Xtrabackup实现数据库备份和恢复

    故事背景:前面大胆的选择了innodb,接下来就要考虑数据库的备份和恢复。俗话说“常在河边走,哪能不湿鞋“,自从接触数据这块,使我一直对它保持敬畏之心。在这里使用了percona公司的xtrabckup工具来实现数据库备份和恢复。操作步骤记录如下: 1、安装软件仓库(不要问我为什么不用源码安装,好吧,其实我懒。) wget https://www.…

    数据库运维 2015-12-19
  • http配置文件中文文档

    Apache中Httpd.conf详解 Apache 的 httpd.conf 详解 # # Apache服务器主配置文件. 包括服务器指令的目录设置. # 详见 <URL:http://www.apache.org/docs/>  # # 请在理解用途的基础上阅读各指令。 # # 再读取此文档后,服务器将继续搜索运行 # E:/Pro…

    Linux干货 2017-08-08
  • LVS负载均衡集群详解

    一、LVS概述  1.LVS:Linux Virtual Server          四层交换(路由):根据请求报文的目标IP和目标PORT将其转发至后端主机集群中的某台服务器(根据调度算法);      …

    系统运维 2016-04-30
  • 学习宣言

    不积跬步无以至千里,不积小流无以成江海。 在Linux的世界,我还只是一个顽童,我会通过我的努力证明,我可以攀登峻峰,笑看风云!

    Linux干货 2016-12-28