乐趣区

关于linux:linux之软连接和硬连接的区别

硬连贯

硬链接是通过索引节点进行的链接。在 Linux 中,多个文件指向同一个索引节点是容许的,像这样的链接就是硬链接。硬链接只能在同一文件系统中的文件之间进行链接,不能对目录进行创立。如果删除硬链接对应的源文件,则硬链接文件依然存在,而且保留了原有的内容,这样能够起到避免因为误操作而谬误删除文件的作用。因为硬链接是有着雷同 inode 号仅文件名不同的文件,因而,删除一个硬链接文件并不影响其余有雷同 inode 号的文件。

  • 通过 ln rumenz.txt rumenz123.txt 创立
  • 不能对目录进行创立硬链接,只可对文件创建。
  • 以文件正本的模式存在,但不占用理论空间。
  • 文件名有雷同的 inode 及 data block。
  • 只有在同一个文件系统中能力创立,不能穿插文件系统进行硬链接的创立。
  • 删除其中一个硬链接文件并不影响其余有雷同 inode 号的文件。
  • 只能对已存在的文件进行创立。

实用场景

用于镜像数据文件, 避免误删

软连贯

软链接(也叫符号链接)与硬链接不同,文件用户数据块中寄存的内容是另一文件的路径名的指向。软链接就是一个一般文件,只是数据块内容有点非凡。软链接可对文件或目录创立。
软链接次要利用于以下两个方面:一是方便管理,例如能够把一个简单门路下的文件链接到一个简略门路下不便用户拜访;另一方面就是解决文件系统磁盘空间有余的状况。例如某个文件文件系统空间曾经用完了,然而当初必须在该文件系统下创立一个新的目录并存储大量的文件,那么能够把另一个残余空间较多的文件系统中的目录链接到该文件系统中,这样就能够很好的解决空间有余问题。删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相干软连贯就变成了死链接。

  • ln -s rumenz.txt rumenz123.txt
  • 是寄存另一个文件的门路的模式存在。
  • 可穿插文件系统创立,硬链接不能够。
  • 能够对目录进行链接。
  • 有本人的文件属性及权限等。
  • 可对不存在的文件或目录创立软链接。
  • 软链接可对文件或目录创立。
  • 创立软链接时,链接计数 i_nlink 不会减少。
  • 删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相干软连贯被称为死链接(即 dangling link,若被指向门路文件被从新创立,死链接可复原为失常的软链接)。

无论是硬链接或软链接都不会将本来的档案复制一份,只会占用十分大量的磁碟空间。

实用场景

  • 便于文件治理,将简单门路下的文件链接到简略门路下拜访。
  • 解决某个目录空间有余问题。

怎么查看一个文件的硬连贯文件

> ls -il
total 8
1806727 -rw-r--r-- 2 root root 137 May  6 20:14 one.txt
1806727 -rw-r--r-- 2 root root 137 May  6 20:14 tow.txt

硬连贯文件的 inode number 是一样的. 能够看出因为 one.txttow.txt互为硬链接, 所以他们的 inode number 雷同.

> find / -inum 1806727

查看整个文件系统中有哪些文件是 one.txt 的硬连贯.

怎么查看一个文件的软连贯

> find -type l -exec ls -l {} \;| grep 'rumenz.txt'

晓得一个软连贯文件, 怎么找到该文件的实在门路

// realpath 软连贯文件
> realpath /etc/rc.local
/etc/rc.d/rc.local

原文链接:https://rumenz.com/rumenbiji/…
微信公众号: 入门小站

退出移动版