软链接与硬链接的区别

  • 定义:
    软链接:又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。
    硬链接:就是一个文件的一个或多个文件名。把文件名和计算机文件系统使用的节点号链接起来。因此我们可以用多个文件名与同一个文件进行链接,这些文件名可以在同一目录或不同目录。

  • 最本质的区别是:
    软链接:不是同一个文件
    硬链接:同一个文件,多个名字

  • 是否可以跨分区:
    软链接:可以
    硬链接:不可以,只能在同一个分区创建(跨分区造成文件节点编号不同)

  • 创建语法格式:
    软链接:n -s 源文件 链接名
    硬链接:ln 源文件 链接名

  • 是否可以基于文件夹创建
    软链接:可以
    硬链接:不可以(避免嵌套造成死循环)

  • inode:
    软链接:独立于源文件
    硬链接:与源文件是同一个inode

  • 链接数:
    软链接:始终为1
    硬链接:文件实际引用链接数,每增加一个文件名,inode节点上的链接数增加一,每删除一个文件名,inode节点上的链接数减一,直到为0,inode节点和对应的数据块被回收。

  • 相对路径:
    软链接:相对路径是相对于软链接所在目录的相对路径
    硬链接:相同

  • 文件类型
    软链接:符号链接
    硬链接:文件

  • 文件大小:
    软链接:只有符号占用的大小
    硬链接:实际文件的大小

  • 删除后的表现:
    硬链接:删除一个文件并不影响其他有相同 inode 号的文件。
    软链接:删除软链接并不影响被指向的文件,如果被引用的源文件被删除,则该软连接将失效,无法被正常使用,若被指向路径文件被重新创建,则可恢复为正常的软链接。

你可能感兴趣的:(shell编程,linux,shell,软链接,硬链接)