Linux 的硬链接与软连接

首先我们需要了解linux下硬链接以及软连接的基本概念.

硬链接:新建的文件是已经存在的文件的一个别名,当原文件删除时,新建的文件仍然可以使用.

软链接:也称为符号链接,新建的文件以“路径”的形式来表示另一个文件,和Windows的快捷方式十分相似,新建的软链接可以指向不存在的文件.

下面详细介绍一下硬链接和软连接之间的区别.

1.硬链接和原来的文件没有什么区别,而且共享一个 inode 号(文件在文件系统上的唯一标识);而软链接不共享 inode,也可以说是个特殊的 inode,所以和原来的 inode 有区别。

2.若原文件删除了,则该软连接则不可以访问,而硬连接则是可以的。

3.由于符号链接的特性,导致其可以跨越磁盘分区,但硬链接不具备这个特性.

另外在转载一下网上的介绍.

硬链接(hard link) ln

UNIX文件系统提供了一种将不同文件链接至同一个文件的机制,我们称这种机制为链接。它可以使得单个程序对同一文件使用不同的名字。这样的好处是文件系统只存在一个文件的副本。系统简单地通过在目录中建立一个新的登记项来实现这种连接。该登记项具有一个新的文件名和要连接文件的inode号(inode与原文件相同)。不论一个文件有多少硬链接,在磁盘上只有一个描述它的inode,只要该文件的链接数不为0,该文件就保持存在。硬链接不能对目录建立硬链接!

硬连接是直接建立在节点表上的(inode),建立硬连接指向一个文件的时候,会更新节点表上面的计数值。举个例子,一个文件被连接了两次(硬连接),这个文件的计数值是3,而无论通过3个文件名中的任何一个访问,效果都是完全一样的,但是如果删除其中任意一个,都只是把计数值减1,不会删除实际的内容的,(任何存在的文件本身就算是一个硬连接)只有计数值变成0也就是没有任何硬连接指向的时候才会真实的删除内容。

软链接(symbolic link) ln-s

我们把符号链接称为软链接,它是指向另一个文件的特殊文件,这种文件的数据部分仅包含它所要链接文件的路径名。软链接是为了克服硬链接的不足而引入的,软链接不直接使用inode号作为文件指针,而是使用文件路径名作为指针(软链接:文件名 + 数据部分-->目标文件的路径名)。软件有自己的inode,并在磁盘上有一小片空间存放路径名。因此,软链接能够跨文件系统,也可以和目录链接!其二,软链接可以对一个不存在的文件名进行链接,但直到这个名字对应的文件被创建后,才能打开其链接。

时间: 2024-10-19 06:35:57

Linux 的硬链接与软连接的相关文章

linux的硬链接和软连接的区别

转自:http://www.cnblogs.com/migongci0412/p/4986798.html 硬链接与软链接是 Linux 文件系统中的一个重要概念,其涉及文件系统中的索引节点 (index node 又称 inode),而索引节点对象是 Linux 虚拟文件系统 (VFS) 的四个基本概念之一.通过剖析硬链接与软链接的联系与区别,我们可更好的了解 Linux 中 VFS 这一通用文件模型.并让 Linux 普通用户和系统管理员正确使用硬链接与软链接,帮助文件系统开发者获取 ino

Linux下硬链接与软连接有什么不同

linux硬链接和软链接的区别 1.原理上: 硬链接(hard link):A是B的硬链接(A和B都是文件名),则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的.如果删除了其中一个,对另外一个没有影响.每增加一个文件名,inode节点上的链接数增加一,每删除一个对应的文件名,inode节点上的链接数减一,直到为0,inode节点和对应的数据块被回收.注:文件和文件名是不同的东

Linux的硬链接和软连接

硬链接与软链接的联系与区别 我们知道文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata).用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方:而元数据则是文件的附加属性,如文件大小.创建时间.所有者等信息.在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但其并不包含文件名,inode 号即索引节点号)才是文件的唯一标识而非文件名.文件名仅是为了方便人们的记忆和使用,

硬链接与软连接的区别_(转)

首先我们需要了解linux下硬链接以及软连接的基本概念. 硬链接:新建的文件是已经存在的文件的一个别名,当原文件删除时,新建的文件仍然可以使用. 软链接:也称为符号链接,新建的文件以“路径”的形式来表示另一个文件,和Windows的快捷方式十分相似,新建的软链接可以指向不存在的文件. 下面详细介绍一下硬链接和软连接之间的区别. 1.硬链接和原来的文件没有什么区别,而且共享一个 inode 号(文件在文件系统上的唯一标识):而软链接不共享 inode,也可以说是个特殊的 inode,所以和原来的

linux文件和目录的属性及硬链接与软连接

1.文件属性概述 linux系统中的文件或目录的属性主要包括:索引节点(inode).文件类型.权限属性.链接数.所归属的用户和用户组.最近修改的时间等内容. 我们用ls –lhi命令查看一下结果,也可以用stat详细查看文件属性. [[email protected] ~]# ls -lhi total 92K 400420 -rw-------. 1 root root 1.1K Jun 14 05:02 anaconda-ks.cfg 400431 -rw-r--r--. 1 root r

linux命令4 find、三个时间属性、硬链接和软连接、用户名和密码文件、增加和删除用户组、usermod、su、sudo

find搜索命令 其他搜索命令如下: [[email protected] 333]# which ls alias ls='ls --color=auto' /bin/ls [[email protected] 333]# echo $PATH /usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:/usr/local/jdk1.6.0_23/b

Linux硬链接和软连接的区别与总结

图示软硬链接的区别 有关硬链接的总结 具有相同inode节点号的多个文件互为硬链接文件: 删除硬链接文件或者删除源文件任意之一,文件实体并未被删除: 只有删除了源文件和所有对应的硬链接文件,文件实体才会被删除: 硬链接文件是文件的另一个入口: 可以通过给文件设置硬链接文件来防止重要文件被误删: 创建硬链接命令 ln 源文件 硬链接文件: 硬链接文件是普通文件,可以用rm删除: 对于静态文件(没有进程正在调用),当硬链接数为0时文件就被删除.注意:如果有进程正在调用,则无法删除或者即使文件名被删除

Linux 的硬链接与软链接

Linux 的硬链接与软链接    http://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/    若一个 inode 号对应多个文件名,则称这些文件为硬链接.软链接本身是个特殊的文件,文件内容指向另一个文件名路径(建议绝对路径)   硬链接存在以下几点特性:      文件有相同的 inode 及 data block:      只能对已存在的文件进行创建:      不能交叉文件系统进行硬链接的创建:      不

理解 Linux 的硬链接与软链接

理解 Linux 的硬链接与软链接 从 inode 了解 Linux 文件系统 硬链接与软链接是 Linux 文件系统中的一个重要概念,其涉及文件系统中的索引节点 (index node 又称  inode),而索引节点对象是 Linux 虚拟文件系统 (VFS) 的四个基本概念之一.通过剖析硬链接与软链接的联系与区别,我们可更好的了解  Linux 中 VFS 这一通用文件模型.并让 Linux 普通用户和系统管理员正确使用硬链接与软链接,帮助文件系统开发者获取 inode  的相关知识. 1