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

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

使用链接有什么好处

作为一个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)
上一篇 2017-07-23 20:53
下一篇 2017-07-23 23:11

相关推荐

  • Linux系统上获取命令的帮助信息方法

    当我们在操作linux时忘记相关命令的用法时,可以使用man 命令或者命令 -h来查询该命令的用法; man文档共有9个章节 1:所有用户可以操作的指令或可执行文件 2:系统核心调用的函数与工具 3:子调用,常用的函数与函数库 4:设备,硬件文件说明,通常是/dev/的文件 5:文件格式,配置文件或者是某些档案的格式 6:游戏相关 7:杂项,例如linux文…

    Linux干货 2018-03-04
  • keepalived高可用

    keepalived实现wrrp热网关备份:keepalived配置文件如下主:! Configuration File for keepalived global_defs {  notification_email {    acassen@firewall.loc    failover@firewal…

    Linux干货 2017-05-16
  • wordpress配置安装

    1、首先进行lamp框架的搭建 服务器环境:Linux Centos 7.2.1511 64位 内存:2G  磁盘空间100GB IP地址:10.55.10.79 进行httpd,php,php-mysql,mariadb-server的安装,安装均使用yum安装 ~]# yum -y install httpd php php-mysql mar…

    Linux干货 2016-11-04
  • linux中更改文件权限的实验

      三种基本权限    r 读 数值表示为4 w写 数值表示为2 X 可执行数值表示为1              简单举例: -rw-rw-r–共十个字符,分成四段 第一个字符“-”表示普通文件;这个位置还可能会出现“l”链接;“d”表示目录 第…

    2017-07-15
  • bash脚本进阶

     shell脚本流程控制     1.if语句 单分支: if 判断条件;  then   双分支: if 判断条件; then     条件为真的分支代码 else     条…

    Linux干货 2016-08-21
  • 转载:UEFI和BIOS对比

    传统BIOS开机流程     从你按下主机机壳上的电源键,到进入作业系统的期间,储存于主机板上那颗EEPROM(电气可抹除暨可程式化唯读记忆体)里的BIOS便会开始执行以下的工作: 1. 初始化:     当电脑打开,CPU会自行重置为初始状态,准备运作。BIOS boot block(基本输出输入…

    Linux干货 2016-05-01