Linux 的硬链接与软链接的区别

   链接是指在电子计算机程序的各模块之间传递参数和控制命令,并把它们组成一个可执行的整体的过程。通俗一点无非是把文件名和计算机文件系统使用的节点号链接起来。

  linux中链接有硬链接和软连接之分,首先我们来介绍硬链接,硬链接相当于创建了文件的第二个名字,增加了额外的记录项用来引用文件,还是隶属与同一文件系统上,是同一个物理文件,且引用相同的节点号。它的创建只引起了链接数的增减,而且在执行删除时也是一样。但是要确保文件的正常,至少保持一个链接数,也就是说一旦创建完成后可作为独立文件使用。因其隶属同一个文件系统下,局限了它不能跨驱动器或分区使用,他还不能创建目录链接,因为在Linux中目录中的.和..也是硬链接关系,创建会破坏目录环。因此硬链接具有以下特性:        

文件有相同的 inode 及 data block;

只能对已存在的文件进行创建;

不能交叉文件系统进行硬链接的创建;

不能对目录进行创建,只可对文件创建;

删除一个硬链接文件并不影响其他有相同 inode 号的文件

指定硬链接的语法是  ln filename [linkname],注意其顺序。

软链接是一个符号指向性文件,即一个符号链接指向另一个文件,其大小为指向的路径字符串的长度,不增减目标文件的节点数。因此具有以下特点:

软链接有自己的文件属性及权限等;

可对不存在的文件或目录创建软链接;

软链接可交叉文件系统;

软链接可对文件或目录创建;

创建软链接时,链接计数 i_nlink 不会增加;

删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。

参考文章:http://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/

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

(0)
yangtianyangtian
上一篇 2016-10-20 15:38
下一篇 2016-10-20 19:02

相关推荐

  • Linux网络配置

    (1)、ifcfg家庭命令配置: ifconfig/route/netstat ifup/ifdown   (2)、ip命令配置: ip addr | route | link   (3)、修改配置文件 IP、MASK、GW、DNS相关配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE 路由相关…

    2018-01-30
  • 安装包管理

       软件包管理 软件的运行和编译 ABI 由于window和linux不兼容 linux是ELF window 是PE 对应的内核解析方式不同,可以用虚拟化 API 只程序与程序的公用的接口,相互调用方式 程序源代码 –>预处理–>编译–>汇编–>链接 预处理只会引…

    Linux干货 2017-04-24
  • 数据库存储引擎—InnoDB

    MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。

    Linux干货 2018-02-22
  • 第六周作业

    vim编辑器的使用 vim在工作过程中有三种模式:编辑模式、输入模式、末行模式 编辑模式:也叫命令模式,键盘操作常被理解为编辑命令。 输入模式:在文本文件中输入内容。 末行模式:vim内置的命令行接口,执行vim的内置命令。 vim的使用 打开文件:#vim [OPTIONS]…[FILE]… +#:打开文件后,直接让光标处于第#行 …

    Linux干货 2017-07-04
  • Linux发展史

    摘要:Linux无处不在的存在于我们的周围,家庭、公司、学校等等。现在的Linux已经从最初示很少的一段代码,发展成全世界应用范围最广的操作系统。本文将为大家展现Linux的发展史。 一、Linux的是什么       Linux是一套可以免费使用和自由传播的类Unix操作系统操作系统,是一个基于POSIX和UNIX的多用户、多…

    Linux干货 2016-10-18