如何区别硬连接和软连接

一、什么是链接?

二、它能做什么?

三、区别是什么?

针对以上三个问题,我们来进行讨论学习,如有不足指出,请及时留言指正。

1.链接是什么?在linux中链接简单说实际上是一种文件共享的方式,是 POSIX 中的概念。

2.可以将链接简单地理解为 Windows 中常见的快捷方式,在Linux通常也会将一些目录层次较深的文件链接到一个更易访问的目录中等。

3.首先,从使用的角度讲,两者没有任何区别,都与正常的文件访问方式一样,支持读写,如果是可执行文件的话也可以直接执行。

那区别在哪呢?在底层的原理上。

要明白软硬链接的区别,首先要搞清楚什么是索引节点。简单点说在Linux中一切皆文件,每一个文件都有一个相关的节点目录,在节点中保存着所有者身份和权限以及时间信息等。每一个信息都有一个编号,这个编号是独一无二的。而Linux则是通过节点信息编号来识别文件的,文件不同,节点编号也不一样,分区不同即使节点号相同文件也不一样,这个就是索引节点。

请看下面的这幅图中,67就是索引节点编号,2是链接数目,现在处于同一个分区中,节点编号却是一致的这样的链接就是硬链接。

注意一定要是在分区一致的目录下发现节点编号一致的文件就是硬链接,如果分区不一致,例如:一个在/data/tmp文件节点编号是67,另一个在/root/file1(名字随意)的文件节点编号也是67。这样的不能称之为硬链接!硬链接只能在同一文件系统中的文件之间进行链接,不能对目录进行创建,也不支持创建文件夹的硬链接。

软连接:

软链接(也叫符号链接)与硬链接不同,文件用户数据块中存放的内容是另一文件的路径名的指向(可以理解为Windows中的快捷方式)。软链接就是一个普通文件,只是数据块内容有点特殊。软链接可对文件或目录创建。  因为软连接就是一种普通的文件,所以节点编号是不相同的。并且链接数不增长,支持跨分区与文件夹创建。

死链接:

总结:

硬链接:只能在同一文件系统中的文件之间进行链接,不能对目录进行创建。如果删除硬链接对应的源文件,则硬链接文件仍然存在,而且保存了原有的内容,这样可以起到防止因为误操作而错误删除文件的作用。由于硬链接是有着相同节点号仅文件名不同的文件,因此,删除一个硬链接文件并不影响其他有相同节点 号的文件。

软连接:可以在多个文件系统中进行链接,支持对目录进行创建,删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接就变成了死链接。

原文地址:http://blog.51cto.com/13872354/2151896

时间: 2024-10-24 06:44:10

如何区别硬连接和软连接的相关文章

linux中的硬连接和软连接

linux中的硬连接和软连接 linux中的硬连接和软连接 背景 连接 硬连接 软连接 example reference 背景 linux中的文件主要分3块, - 真正的数据 - 索引节点号(inode index) - 文件名称 读取文件的顺序是通过文件名称.找到相应的inode.然后通过inode找到相应的数据,进行读取. 连接 当我们须要在不同的文件夹,用到同样的文件时.我们不须要在每个须要的文件夹下都放一个必须同样的文件,我们仅仅要在某个固定的文件夹,放上该文件,然后在 其他的文件夹下

Linux文件系统的硬连接和软连接

title: Linux文件系统的硬连接和软连接 date: 2018-02-06T20:26:25+08:00 tags: ["文件系统"] categories: ["Linux"] 为了更好地说明文件链接是什么,先讲一下Linux的磁盘管理方式. Linux的文件系统格式被称为ExtN(N=2,3,4),是一种基于inode(索引节点)的文件系统,是所有类Unix系统都有的一种数据结构也是文件系统的核心,每一个新创建的文件都会被分配一个inode,且每个文件都

硬连接和软连接

linux的硬连接和软连接,软连接类似于windows下的快捷方式1.硬连接 创建方式:ln SRC DEST 如:ln /etc/inittab /tmp/hd_inittab 将/etc/inittab 文件创建一个硬连接为/tmp/hd_inittab. 特点:1.不能跨文件系统: 2.不能对目录创建硬连接: 3.和源文件 如inittab有相同的inode号(inode号是文件的唯一标识符,可使用ls -i file 可以查看file文件的inode的号码): 4.删除源文件后,连接文件

linux 硬连接与软连接

1.linux中文件占用一个inode,inode指向文件内容.2.文件名可以认为是一个指针,指向inode.硬连接相当于指针的整体拷贝,并不是对文件内容的拷贝.两个文件名(两个指针)都能修改文件,删除一个不影响另外一个,如下: [[email protected] home]# touch aaa [[email protected] home]# cat >aaa hello [[email protected] home]# ln aaa aaa.hl [[email protected]

Linux:硬连接和软连接

摘自http://www.cnblogs.com/itech/archive/2009/04/10/1433052.html 1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [硬连接]硬连接指通过索引节点来进行连接.在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index).在Linux中,多个文件名指向同一索引

智能车学习(二十)——浅谈C车硬连接与软连接

一.为何要追求软连接?       车子进行软连接之后,可以达到一种效果,就是在高速过程中,车子如果快要发生侧翻的时候,只会跳一个后轮,且只是轻微,而前轮如果进行的内倾,就可以让前轮最大面积接触,增大摩擦力,在这种调节下,可以保持高速而不会翻车,且不会减速,增加过弯速度.然后还有在过陂的时候,可以有减震的作用(说到底就是C车电机太差了 = = ).       但存在一种情况..电机过分差的时候..速度无法过高,否则的话直接翻车,比赛结束.       经过个人的分析比对,参考上届的国特学长,以

linux系统文件属性-硬连接、软连接

1 硬链接概念 硬链接是指通过索引节点(Inode)来进行链接,在Linux(ext2,ext3)文件系统中,保存在磁盘分区中的文件不管是什么类型都会给它分配一个编号,这个编号被称为索引节点编号(Inode Index)简称Inode,即在系统中文件的编号. 在Linux文件系统中,多个文件名指向同一个索引节点(Inode)是正常且允许的.这种情况的文件就称为硬链接,硬链接的作用之一是允许一个文件拥有多个有效路径名(多个入口),这样用户就可以建立硬链接到重要的文件,以防止“误删”源数据(很多硬件

详解「复制、拷贝、替身、软连接、硬连接」区别

在mac文件系统中可以对一个文件进行标题中的这5种操作,操作的结果都是生成一份副本,但是其中却有很大区别. 首先操作上的区别很明显 生成 软连接.硬连接 是通过命令行操作的 生成 替身.复制.拷贝 一般是通过finder进行操作的,右键某个文件,菜单中选择(其实复制也可以用命令cp来实现,跟finder操作是一个效果) 然后其中的 复制和拷贝 跟另外三种方式本质上不同,它们之间的区别也很好理解 他们的共同点是生成一份文件的副本,副本和原文件是两个独立的文件,两者的关系只有在生成时是关联的,在生成

软连接和硬连接

ln命令 该命令在文件之间创建链接.这种操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称.对于这个新的文件名,我们可以为之指定不同的访问权限,以控制对信息的共享和安全性的问题. 如果链接指向目录,用户就可以利用该链接直接进入被链接的目录而不用打一大堆的路径名.而且,即使我们删除这个链接,也不会破坏原来的目录. 语法:ln [选项] 目标 [链接名] ln [选项] 目标 目录 链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).