`
desert3
  • 浏览: 2159579 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

Symbolic link and hard link的区别(转)

 
阅读更多
Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。

--硬连接
硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

【软连接】
另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

下面是一些例子:
keney@keney-laptop ~> touch f1       #创建一个测试文件f1
keney@keney-laptop ~> ln f1 f2        #创建f1的一个硬连接文件f2
keney@keney-laptop ~> ln -s f1 f3    #创建f1的一个符号连接文件f3
keney@keney-laptop ~> ls -li            # -i参数显示文件的inode节点信息

1284 -rw-r--r-- 2 keney keney    0 2009-05-24 10:44 f1
1284 -rw-r--r-- 2 keney keney    0 2009-05-24 10:44 f2
1340 lrwxrwxrwx 1 keney keney    2 2009-05-24 10:45 f3 -> f1

从上面的结果中可以看出,硬连接文件f2与原文件f1的inode节点相同,均为1284,然而符号连接文件的inode节点不同

keney@keney-laptop ~> echo "I am f1 file" >> f1
keney@keney-laptop ~> cat f1
I am f1 file
keney@keney-laptop ~> cat f2
I am f1 file
keney@keney-laptop ~> cat f3
I am f1 file
keney@keney-laptop ~> rm -f f1
keney@keney-laptop ~> cat f2
I am f1 file
keney@keney-laptop ~> cat f3
cat: f3: No such file or directory

当删除原始文件f1后,硬连接f2不受影响,但是符号连接f1文件无效

依此可见:
1).删除符号连接f3,对f1,f2无影响;
2).删除硬连接f2,对f1,f3也无影响;
3).删除原文件f1,对硬连接f2没有影响,导致符号连接f3失效;
4).同时删除原文件f1,硬连接f2,整个文件会真正的被删除。


转自:Symbolic link and hard link的区别(linux)
分享到:
评论

相关推荐

    SymlinkCreator.exe

    Symlink Creator simplifies the process of creating symbolic and hard links in Windows 7 and Windows 8 (likely Vista too). It is a GUI for the MKLINK command in Windows, which makes creating the links ...

    hardlink:使用硬链接复制文件并合并目录

    安装直接从资源库获取最新代码: $ pip install hardlink用法通过命令行脚本: $ hardlink -husage: hardlink [-h] [-d] [-f] [-q | -v] src dstCopy files and merge directories using hard links.positional ...

    Linux 硬链接和软链接详细介绍

    根据链接的特性不同,可以将其分为两种类型:硬链接(Hard Link)和软链接(Symbolic Link,又称为符号链接)。本文将详细介绍这两种链接的特点、创建方法以及它们之间的区别。 #### 二、硬链接 **定义:** 硬链接...

    详解Linux ln 命令

    Linux 中的文件分为 Hard Link 和 Symbolic Link 两种。Hard Link 文件又被称为硬链接文件、实体链接文件,Symbolic Link 文件则常被称为符号链接、软链接文件。 ln 命令用来在文件之间建立链接。在介绍 ln 命令前,...

    Linux Shell Scripting Cookbook

    Finding a symbolic link and its target 111 Enumerating file type statistics 113 Loopback files and mounting 115 Creating ISO files, Hybrid ISO 117 Finding difference between files, patching 120 head ...

    linux软链接 硬链接区别

    Linux 链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。 硬链接(Hard Link) 硬链接是通过索引节点来进行连接。在 Linux 的文件系统中,保存在磁盘分区中的文件不管是什么...

    Linux 软连接与硬链接.pdf

    Linux 操作系统中有两种类型的连接:硬连接(Hard Link)和软连接(Symbolic Link)。这两种连接类型都可以实现文件的共享,但它们的实现机制和应用场景不同。 一、硬连接(Hard Link) 硬连接是一种文件系统级别...

    junction ntfs link

    NTFS链接主要有两种类型:硬链接(Hard Links)和符号链接(Symbolic Links)。硬链接是指向同一文件inode(文件系统内节点)的不同文件名,它们共享相同的物理数据,改变其中一个链接的文件内容会影响到所有链接。...

    Linux 关机命令

    Linux 中的文件系统管理是非常重要的一部分,硬链接(hard link)和软链接(symbolic link)是其中两个重要的概念。今天,我们将详细地介绍硬链接和软链接的概念、使用方法和差异。 硬链接(Hard Link) 硬链接是...

    linux-java

    例如,`File.renameTo()`方法可用于移动文件,而`File.createSymbolicLink()`或`File.createHardLink()`方法可以用来创建符号链接和硬链接。 `a2Answers.txt`文件可能是该程序的测试用例或者输出结果,它可能包含了...

    2022年Linux基础测试试题及答案.docx

    * 文件类型: Regular file、Directory、Symbolic link、Hard link、FIFO、Socket、Block device、Character device * 文件权限:读、写、执行权限,chmod 命令 * 文件系统的挂载和卸载 二、Shell 编程 * Shell 的...

    ln的软硬连接区别

    在Linux操作系统中,链接主要分为两类:硬链接(hard link)和软链接(又称为符号链接,symbolic link)。下面我们将从多个维度详细分析这两种链接的特点及其差异。 ### 软链接(Symbolic Link) 软链接在功能上...

    详解linux软连接和硬链接

    Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。 【软连接】 另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有...

    Linux下的cp命令详解

    * `-l`:进行硬式连结(hard link)的连结档建立,而非复制档案本身。 * `-p`:连同档案的属性一起复制过去,而非使用预设属性。 * `-r`:递归持续复制,用于目录的复制行为。 * `-s`:复制成为符号连结文件(symbolic ...

    Linux系统中硬链接与软链接的区别

    主要分为硬链接(Hard Link)和软链接(Symbolic Link),这两种链接有着不同的工作原理和用途。 硬链接,本质上是通过索引节点(Inode)实现的。在Linux的文件系统中,每个文件都有一个唯一的标识,即Inode号,它...

    mklink.exe

    符号链接(Symbolic Link)和硬链接(Hard Link)是两种主要类型的链接: 1. **符号链接**:符号链接类似于Unix/Linux系统中的软链接。它创建了一个指向目标文件或目录的新条目,这个条目包含有指向原始文件或目录...

    Linux 硬链接与软链接

     Linux 中有两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接也称为符号链接(Symbolic Link)。  硬链接  硬链接其实已存在文件的另一个名字,链接与原来的文件并没有什么区别

    linux面试问题及回答方案.pdf

    软连接(Symbolic Link)和硬链接(Hard Link)都是 Linux 文件系统中的一种链接方式,但它们之间有着本质的区别。软连接是一种特殊的文件,它包含了指向其他文件的路径信息;硬链接则是一种文件的多个别名,它们都...

Global site tag (gtag.js) - Google Analytics