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

相关推荐

  • 文件查找命令

    查找命令:local,find local:非实时查找,通过系统数据库进行搜索,无法查找到在系统数据库更新后创建的文件,但是查找速度快,模糊查找(不仅会查找到文件名还会找到文件全路径) find:在硬盘上进行实时搜索,速度较慢,但是可以找到当前所有的数据 系统数据库在   /var/lib/mlocate/mlocate.db 系统一般会…

    Linux干货 2016-08-16
  • 编译安装httpd2.4-centos6

    centos6编译安装httpd2.4 默认是不支持,需自己动手进行编译 apr-1.4+ apr-util-1.4+ :需提前进行编译安装这两个软件 编辑安装httpd2.4实例 1、#安装开发包 [root@www ~]# yum groupinstall “Development Tools” “Server Pla…

    Linux干货 2017-05-17
  • 如何在微软Azure云机上添加新磁盘

    大家好: 最近在项目实践中,分享下如何在微软Azure云机上添加新磁盘。 首先需要查看下是否有未用上的磁盘,先fdisk -l查(看下图)并和Azure技术确认该磁盘是否可永久保存数据: 然后找到未分区的磁盘号,如上图中的/dev/sdc,再 fdisk /dev/sdc后开始在该新磁盘上进行分区创建: 为方便管理,我们一般就创建一个分区,然后进行格式化: …

    Linux干货 2016-11-27
  • 数据结构-栈和队列

    1.栈 1.1 栈的定义 栈是一种特殊的线性表。其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行。如下所示: 结论:后进先出(Last In First Out),简称为LIFO线性表。 栈的基本运算有六种: 构造空栈:InitStack(S)、 判栈空: StackEmpty(S)、 判栈满: StackFull(S)、 …

    Linux干货 2015-04-07
  • 压缩打包工具

    linux系统常见的压缩命令:compress、gzip、zcat、bzip2、xz、zip 打包命令:tar、cpio compress 语法:compress  [-dfvcVr]  [-b maxbits]  [file …]        …

    2017-08-12