嵌入式每日八股1.15
硬链接与软链接的区别?
什么是符号链接?
什么是硬链接?
软链接和硬链接都是在Unix/Linux文件系统中使用的链接(linking)概念。
**链接:**是给系统中已有的某个文件指定另外一个可用于访问它的名称,链接也可以指向目录。即使我们删除这个链接,也不会破坏原来的文件或目录。
ln file file.h
创建一个硬链接,创建硬链接后,文件的硬链接计数+1
硬链接是指多个文件名指向同一个物理文件。当创建硬链接时,不会在磁盘上创建新的数据块,而是将已有文件的索引节点(inode)复制一份,新文件名指向该索引节点。因此,多个硬链接文件实际上是同一个文件,它们在磁盘上占用的空间是相同的。硬链接只能针对文件,不能针对目录。
ln -s file file.s
创建一个软链接,软链接就像windows下的快捷方式
软链接又称符号链接,是指一个文件名指向另一个文件名,而不是物理文件。创建软链接时,在磁盘上创建一个新的数据块,其中包含指向目标文件名的路径信息。因此,软链接实际上是一个文件,它的内容是目标文件的路径。软链接可以针对文件或目录。
与硬链接不同,软链接在磁盘上占用的空间比较小,但是因为需要额外的寻址操作,访问速度相对较慢。同时,当目标文件被删除或移动时,软链接会失效。
硬链接和软链接的功能都是让一个文件名指向另一个文件名,但是它们的实现方式和特性不同。
硬链接的主要特点是:
- 它们实际上是同一个文件,占用磁盘空间相同。
- 它们可以独立地被访问、重命名、删除等操作,而不会影响其他的链接文件。
- 硬链接只能链接普通文件,不能链接目录。
软链接的主要特点是:
- 它们是一个新的文件,占用磁盘空间较小。
- 它们指向的是目标文件的路径,因此,当目标文件被删除或移动时,软链接会失效。
- 软链接可以链接普通文件和目录。
因此,尽管硬链接和软链接的功能相同,但它们的实现方式和使用场景不同。硬链接主要用于共享文件,而软链接主要用于解决文件路径的问题。
【嵌入式八股】精华版 https://www.nowcoder.com/creation/manager/columnDetail/0rOeJm
【嵌入式八股】一、语言篇https://www.nowcoder.com/creation/manager/columnDetail/mwQPeM
【嵌入式八股】二、计算机基础篇https://www.nowcoder.com/creation/manager/columnDetail/Mg5Lym
【嵌入式八股】三、硬件篇https://www.nowcoder.com/creation/manager/columnDetail/MRVDlM
【嵌入式八股】四、嵌入式Linux篇https://www.nowcoder.com/creation/manager/columnDetail/MQ2bb0