硬连接与软链接

硬连接

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

描述

由于硬连接是有着相同 inode 号仅文件名不同的文件,因此硬连接存在以下几点特性:

  • 文件有相同的 inode 及 data block
  • 只能对已存在的文件进行创建
  • 不能交叉文件系统进行硬连接的创建
  • 不能对目录进行创建,只可对文件创建
  • 删除一个硬连接文件并不影响其他有相同 inode 号的文件

软链接

  软链接接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录。可以链接不同文件系统的文件。软链接文件只是其源文件的一个标记,当删除了源文件后,链接文件不能独立存在,虽然仍保留文件名,但却不能查看软链接文件的内容。软链接不直接使用 inode 号作为文件指针,而是使用文件路径名作为指针(软链接:文件名+数据部分—>目标文件的路径名)。软件有自己的 inode ,并在磁盘上有一小片空间存放路径名。因此,软链接能够跨文件系统,也可以和目录链接。软链接可以对一个不存在的文件名进行链接,但直到这个名字对应的文件被创建后,才能打开其链接。

描述
描述

软链接就是一个普通文件,只是数据块内容有点特殊。因此,软链接具有以下几点特性:

  • 软链接有自己的文件属性及权限等
  • 可对不存在的文件或目录创建软链接
  • 软链接可交叉文件系统
  • 软链接可对文件或目录创建
  • 创建软链接时,链接计数 i_nlink 不会增加
  • 删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)

编译型语言与解释型语言

  编译型语言:先将源代码编译成机器代码,然后机器执行机器码。执行速度快、效率高,依赖编译器,跨平台性差。
  解释型语言:源代码不是直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行。依靠解释器、跨平台性好,执行速度慢、效率低。

猜你喜欢

转载自blog.csdn.net/adorable_/article/details/80682423