硬链接与软链接的联系与区别

硬链接与软链接的联系与区别

    文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata)。用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方;而元数据则是文件的附加属性,如文件大小、创建时间、所有者等信息。元数据中的inode才是文件的唯一标识而非文件名。为了方便使用者记忆和使用才有了文件名。

        为了解决文件的共享使用,Linux系统就引入了两种链接:硬链接和软链接(又叫符号链接)。链接为Linux系统解决了文件共享使用,还带来了隐藏文件路径,增加权限安全及节省存储等众多实用的便利。

 硬链接:如果一个inode号对应多个文件名,则称这些文件为硬链接。也就是说硬链接就是同一个文件使用了多个名字,他们有一个共同的inode号。

 软连接:在liunx中的所有都是以文件表示的,软连接可以看成一个文本文件,它的内容是保存目标文件名的路径地址,这个文件包含了另一个文件的路径名,而且可以是任意文件或目录,通俗点说就跟win下的快捷方式差不多。使用相对路径创建的软链接被移动后该软链接文件将成为一个死链接

 

 

两者的区别:

1,硬链接不能对目录创建,只能对文件创建。

2, 文件有相同的 inode 及文件数据块( data block)

3, 不能交叉文件系统进行硬链接的创建;

4, 只能对已存在的文件进行创建;

5, 删除一个硬链接文件并不影响其他有相同 inode 号的文件。

6, 软链接有自己的文件属性及权限等;

7, 可对不存在的文件或目录创建软链接;

8, 软链接可交叉文件系统;

9, 软链接可对文件或目录创建;

10,            创建软链接时,链接计数 i_nlink 不会增加;

11,            删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。

原创文章,作者:stacey,如若转载,请注明出处:http://www.178linux.com/53242

(0)
staceystacey
上一篇 2016-10-20 20:31
下一篇 2016-10-20 20:35

相关推荐

  • 初识Linux-即使是997也不能停止学习

    1.计算机的组成及其功能:    从1946年第一台通用计算机ENIAC诞生至今,几乎所有的计算机系统都是建立在冯诺依曼体系结构上的。那么何为冯诺依曼体系结构? 冯诺依曼体系结构:        控制器:是整个计算机的中枢,负责计算机的整体调度工作,将指令从存储器中取出,并对指令进行解释执行。 &n…

    Linux干货 2016-10-29
  • 自用vim环境参数设置

    基本显示设置 set nu mber 显示行号 syntax on 语法高亮 set cursorline 用浅色高亮当前行 set ruler 显示标尺 set showcmd 输入的命令显示出来,看的清楚些 set cmdheight=1 命令行(在状态行下)的高度,设置为1 set tabst…

    Linux干货 2017-04-24
  • 分区”魔术师”的磁盘管理

    设备文件 I/O Ports: I/O设备地址 一切皆文件: open(), read(), write(), close() 设备类型: 块设备: block,存取单位“块”,磁盘 字符设备: char,存取单位“字符”,键盘 设备文件:关联至一个设备驱动程序,进而能够跟与之对应 硬件设备进行通信 设备号码: 主设备号: major number, 标识设…

    Linux干货 2016-08-29
  • 22期第二周课堂练习

    Linux上文件系统管理类命令都有哪些,其常用的使用方法及其相关示例演示     (1).cp文件复制命令     单源复制:cp [OPTION]… [-T] SOURCE DEST     多源复制:cp&nbs…

    Linux干货 2016-08-22
  • 13grep和正则表达式

    grep:Global search REgular expression and Print out the line . 文本过滤工具,根据用户指定的模式对目标文本进行匹配检查;打印匹配到的行。过滤即不改变原来文本数据。 grep [options] PATTERN [file…] –color=auto: 对匹配到的文本着色显示…

    Linux干货 2016-11-27
  • 第一周 计算机/Linux基础入门

    1、描述计算机组成及其功能 计算机组成主要分为五个部分:控制器、运算器、存储器、输入设备、输出设备 ENIARC: CPU:运算器、控制器、寄存器、缓存 存储器:内存,RAM(Random Access Memory)         Input:下指令,提供数据等 Output:输出数据加工的结果         &…

    2017-12-02