Linux文件系统中软链接和硬链接的区别

1.硬链接是创建一个指向block的inode,有防止误删除的功能。因为删除一个文件,实际上是删除inode信息,切断了inode与block之间的联系。当给一个文件做了硬链接之后,删除文件时,只会减少文件的链接数,当链接数为0时,才会彻底删除该文件。软链接类似Windows系统的快捷方式,是一个完整的文件,有自己的inode和block,block的内容就是原文件的文件名。当原文件删除后,软链接就失效了,没有防止误删除的功能。

2.文件的大小不一样。由于硬链接是指向原文件的block,所以硬链接的文件大小和原文件大小是一致的。而软链接是新的文件,block里是原文件的的文件名,所以软链接文件的大小一般是4K,即一个block的大小。

3.硬链接不能给目录做,不能跨分区做。软链接则都可以。

创建硬链接命令:

ln file filenew  #file为原文件名,filenew为新文件名。

创建软链接命令:

ln -s file filenew  #file为原文件名,filenew为新文件名。

详细代码

创建硬链接,abc 的硬链接abc2

[[email protected] backup]# ll
总用量 20
-rwxr-xr-x 1 root root 19688 2月  27 23:54 abc
[[email protected] backup]# mkdir tests
[[email protected] backup]# ln abc tests/abc2
[[email protected] backup]# ll
总用量 24
-rwxr-xr-x 2 root root 19688 2月  27 23:54 abc
drwxr-xr-x 2 root root  4096 2月  27 23:55 tests
[[email protected] backup]# cd tests
[[email protected] tests]# ll
总用量 20
-rwxr-xr-x 2 root root 19688 2月  27 23:54 abc2
[[email protected] tests]# ls -i
794342 abc2
[[email protected] tests]# cd ../
[[email protected] backup]# ls -i
794342 abc  794343 tests
[[email protected] backup]#
时间: 2024-10-13 16:12:55

Linux文件系统中软链接和硬链接的区别的相关文章

linux中软链接和硬链接的区别与小结

ln命令 该命令在文件之间创建链接.这种操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称.对于这个新的文件名,我们可以为之指定不同的访问权限,以控制对信息的共享和安全性的问题. 如果链接指向目录,用户就可以利用该链接直接进入被链接的目录而不用打一大堆的路径名.而且,即使我们删除这个链接,也不会破坏原来的目录. 语法:ln [选项] 目标 [链接名] ln [选项] 目标 目录 链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).

Linux文件系统的分区、硬链接、软链接

首先从磁盘结构讲起.按结构从小到大区分: 扇区,固定512字节 磁道 柱面,分区时的最小单位,开始柱面到结束柱面为一个分区 第一个扇区很重要,它包括: 主引导分区MBR(446字节),内含引导加载程序Boot loader.它有如下功能: 提供菜单:可选择不同的系统进行加载,多操作系统的基础 加载内核文件:直接加载可使用的操作系统内核程序 转交其它Boot loader:跳转到其它分区,执行那个分区的Boot loader,用于启动不同操作系统 分区表(64字节),保存每个分区的起始.结束柱面.

Linux下的软链接与硬链接

首先聊聊Linux中使用哪个命令创建链接文件,然后咱们在聊聊软链接和硬链接的区别. 使用ln命令可以创建某个文件的链接文件 用法:ln [-s -v] src dest 创建一个硬连接文件:ln 原文件 硬连接文件 硬链接与源文件的inode号相同,使用stat命令可以查看文件的元数据信息. 创建一个软连接文件:ln -s 原文件 软连接文件 加-s表示创建软连接(符号链接) 注意:创建连接文件时,指定源文件时, "原文件的路径"可以是绝对路径也可以是相对路径,但是要注意,如果&quo

Linux下软链接与硬链接的区别

Linux下软链接与硬链接的区别 Linux中的文件都文件名和数据,在linux上面被分为两个部分:元数据与数据.用户数据,即文件数据块(data block),数据块是记录文件真实内容的地方,而元数据是文件的附加属性,如大小,创建时间,所有者等信息.在Linux中,元数据中的inode号(inode是文件的元数据的一部分,但其不包含文件名,inode号即索引节点号)才是文件的唯一标识而不是文件名.文件名仅是为了方便人们的记忆和使用,系统或程序通过inode号寻找正确的文件数据快.下图为程序通过

Linux命令——建立软链接和硬链接

Linux 系统中有软链接和硬链接两种特殊的"文件". 软链接可以看作是Windows中的快捷方式,可以让你快速链接到目标档案或目录. 硬链接则透过文件系统的inode来产生新档名,而不是产生新档案. 创建方法: #软链接 ln -s source targe #硬链接 ln source target 原文地址:https://www.cnblogs.com/meng9688/p/10216524.html

[转帖]Linux 下软链接和硬链接的区别

Linux 下软链接和硬链接的区别 http://os.51cto.com/art/201911/605267.htm 软连接 文件是小的 只是一个链接 删除和其他处理不影响 原始文件的计数 删除源文件 链接文件立马完蛋 但是可以跨文件挂载点进行连接. 硬链接 增加了innode 的引用计数. 删除时 只要还有一个有链接 文件就还有. 但是不能跨挂载点进行硬链接 软连接 就是 ln -s 硬链接 直接 ln 在 Linux 系统中,一切都是文件,然而为了区分不同类型的事物,我们有了: 普通文件

Linux中软链接与硬链接详细解读

目标: 1.测试环境模拟 2.软链接特性 3.硬链接特性 4.总结 1.测试环境模拟 1 2 3 4 5 6 7 8 9 10 11 12 13 [[email protected] home]# mkdir test 创建测试文件夹 [[email protected] home]# cd test/  进入测试文件夹 [[email protected] test]# touch link  创建原文件link [[email protected] test]# echo "my name

linux软链接与硬链接的区别

Linux 文件系统最重要的特点之一是它的文件链接.链接是对文件的引用,这样可以让文件在文件系统中多处被看到.不过,在 Linux 中,链接可以如同原始文件一样来对待.链接可以与普通的文件一样被执行.编辑和访问.对系统中的其他应用程序而言,链接就是它所对应的原始文件.当您通过链接对文件进行编辑时,您编辑的实际上是原始文件.链接不是副本,linux有两种类型的链接:硬链接和符号链接(软链接). 硬链接(hard link)只能引用同一文件系统中的文件.它引用的是文件在文件系统中的物理索引(也称为

Linux系统的软链接与硬链接有什么区别?

Linux系统中的文件都文件名和数据,在 linux 上面被分为两个部分:元数据与数据.用户数据,即文件数据块( data block ),数据块是记录文件真实内容的地方,而元数据是文件的附加属性,如大小,创建时间,所有者等信息.在 Linux 中,元数据中的 inode 号( inode 是文件的元数据的一部分,但其不包含文件名, inode 号即索引节点号)才是文件的唯一标识而不是文件名.文件名仅是为了方便人们的记忆和使用,系统或程序通过 inode 号寻找正确的文件数据快.下图为 程序通过