`
lu007heng
  • 浏览: 23703 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Linux下符号链接和硬链接的区别

阅读更多
解释1

存在两种不同类型的链接,软链接和硬链接。修改其中一个,硬连接指向的是节点(inode),而软连接指向的是路径(path)

软链接文件

  软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。和win下的快捷方式差不多。链接文件甚至可以链接不存在的文件,这就产生一般称之为"断链"的问题(或曰“现象"),链接文件甚至可以循环链接自己。类似于编程语言中的递归。

命令格式:

代码:

ln [-s] source_path target_path

硬链接文件

  info ln 命令告诉您,硬链接是已存在文件的另一个名字,硬连接的命令是

代码:

ln -d existfile newfile

引用:

硬链接文件有两个限制

  1、不允许给目录创建硬链接;

  2、只有在同一文件系统中的文件之间才能创建链接。

  对硬链接文件进行读写和删除操作时候,结果和软链接相同。但如果我们删除硬链接文件的源文件,硬链接文件仍然存在,而且保留了愿有的内容。这时,系统就“忘记”了它曾经是硬链接文件。而把他当成一个普通文件。修改其中一个,与其连接的文件同时被修改。

解释2

硬链接与符号链接的区别在于硬链接与原来的文件有相同的i-node即它们是无差别的指向一个存储数据的空间的索引.而符号链接可以理解为指向原来的文件的索引的索引.它与原来的文件是两个不同的文件.所以这样的话假如存在三个文件的话,a是原文件,b是a的硬链接,而c是a 的符号链接.刚不管是那个文件或者目录的内容改变都会使得其它的文件的内容改变.对于原文件的删除,则c将变的不可用,而对b却没有任何的影响.b,c的删除不会对任何文件有影响.

注:

   1. 对于ln命令默认是建立硬链接的.
   2. -s不是soft(软)的意思,而是symbolic(符号)的意思,因此应该是符号链接,而不是常说较链接,以后应该纠正.

解释3

硬链接用ln existing-file new-link 来使用。当你对同一文件有多个名称时,每个名称被称为该文件的硬链接。即对同一个i节点号有多个文件名。你用rm删除它的某一个文件名对其余的名称和文件内容不会受到影响。  

软链接是一个小的指针文件,用ln -s real-file ptr-file  

它可以对目录和其他文件系统进行操作,而硬链接就不行。一般指令会对指针指向的文件进行操作,而rm,mv指令只对软链接本身操作。    用ls -l只能看到软连接。

符号链接:软链接,指向文件 所在目录位置的指针, 删除对原始文件无影响。

硬链接:指向文件的INODE结点,增加原始文件的引用计数,引用计数为零时则删除原始文件。
分享到:
评论

相关推荐

    Linux操作系统的硬链接与软链接讲解

    在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号。...Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic link)。

    硬连接和符号连接

    描述了Linux系统中符号链接和硬链接的区别

    Linux下硬链接与符号链接

    硬链接的核心是在硬链接所在目录的数据区块中添加一条关联数据:硬链接这个文件的名字和inode号(这个inode号是实际数据inode号,改inode号对应实际数据对应的数据区块) 例:使用 ln /etc/crontab /root/crontab ...

    Linux软连接和硬链接

     Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。  【硬连接】  硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在...

    详解linux软连接和硬链接

    本篇文章详细介绍了linux软连接和硬链接,废话不多说,接着往下看把。 一 链接文件 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。 ...

    Linux操作系统文件链接问题

    链接有两种,一种被称为硬链接,硬连接指通过索引节点来进行的连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号。在Linux中多个文件名指向同一索引节点是存在的...

    创建一个符号链接。创建符号链接是一个非常实用的功能。

    创建一个符号链接。创建符号链接是一个非常实用的功能。假设你有一些目录或者文件需要频繁使用,但由于Linux的文件和目录结构的原因

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

    首先要弄清楚,在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),...Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic link)。 本文对这两种链接作了介绍。

    计算机后端-PHP视频教程. Linux03 符号链接.wmv

    计算机后端-PHP视频教程. Linux03 符号链接.wmv

    Linux 硬链接与软链接

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

    linux qt 动态链接库

    linux qt 动态链接库linux qt 动态链接库linux qt 动态链接库linux qt 动态链接库linux qt 动态链接库linux qt 动态链接库

    linux下C++动态链接C++库示例

    文中是linux下 C++动态库 实现接口提供类导出的一个例子 注意其中使用函数返回基类指针的用法,因为Linux的动态链接库不能像MFC中那样直接导出类 一、介绍 如何使用dlopen API动态地加载C++函数和类,是Unix C++...

    Linux中移除(删除)符号链接的命令

    你可能有时需要在 Linux 上创建或者删除符号链接。如果有,你知道该怎样做吗?之前你做过吗?你踩坑没有?如果你踩过坑,那没什么问题。如果还没有,别担心,我们将在这里帮助你。 使用 rm 和 unlink 命令就能完成...

    区分Linux硬链接与软链接

    在Linux中,连接文件有两种,一种类似于Windows的快捷方式,可以让你快速地链接到目标文件(或目录),这种称为软链接(soft link),也叫作符号链接(symbolic link);另一种则是通过文件系统的 inode 连接来产生...

    Linux下创建和删除软、硬链接(ln)

    在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号。文件属性保存在索引结点里,在...Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号...

    MATLAB 2017b linux版 破解文件(ubuntu14.04下已测,可用)

    在安装过程中要将“创建指向以下位置中的MATLAB脚本的符号链接”选项打勾。下面就等待安装完成就行了。 3.安装完成后,选择“不使用Internet手动激活”。需要输入许可证文件.lic的完整路径,这里选择Crack目录下的....

    Linux的文件链接和ln命令

    简介: Linux强大的文件链接可以让我们轻松做到以下几点: 1、多用户之间的文件共有、数据共享; 2、不同版本的程序环境或数据源之间的切换; 3、为空间渐少的文件系统“扩容”;...5、Windows下“目录链接”的实现

    Linux文件和目录读写执行权限解析

    Linux文件和目录读写执行权限解析 本文对linux系统下各种权限的文件和目录的新建、复制和删除等进行了测试和分析总结!

    linux内核链接脚本

    本文简单的介绍了理解内核链接脚本需要的链接器知识和链接脚本语法,从vmlinux_32.lds.S文件分析了内核image的构成,并着重讲解了使用自定义section配合链接脚本动态创建表的方法。这里或许有一些你经常看到但不了解...

    Linux入门之ln命令创建软链接的绝对路径和相对路径详解(Ubuntu)

    Linux链接,可以分为硬链接与软链接;本文主要介绍软链接。(默认情况下,ln命令产生硬链接) 软链接文件类似于Windows的快捷方式,但实际上是一个特殊的文件。在软连接中,文件实际上是一个文本文件,其中包含另一...

Global site tag (gtag.js) - Google Analytics