OS中UNIX中的软链接和硬链接
基于UNIX的系统中的链接用于在文件和磁盘上的实际数据之间建立连接。它更像是指向另一个文件或目录的指针或引用,就像编程语言中指针的概念一样。
假设一个文件名称很长,由于某些原因,它无法更改。在UNIX中,为了便于使用,我们可以使用较短的名称引用带有引用的文件。这些对UNIX中相同文件的引用称为链接。简单地说,链接是一种引用文件内容的方法。
UNIX中使用两种类型的链接:软链接和硬链接。两者基本上用于相同的目的,除了它们的行为方式。
什么是软链接?
软链接或符号粉红色是一个小文件,它将文件名与路径名相关联。它只是原始文件的快捷方式,类似于Windows操作系统中的快捷方式选项。它只是作为对另一个文件或目录的引用而没有文件的实际内容,使您可以轻松删除软链接,甚至不会影响原始文件或目录的内容。
简单来说,软链接通常是原始文件的别名,当通过软链接主题中指定的路径名访问时,它会重定向到目标文件或目录。此外,您可以使用软链接链接文件系统。
什么是硬链接?
硬链接只是原始文件的副本,用作引用或指向同一文件的指针,因此即使原始文件被删除或从其原始位置移动也很容易访问。与软链接不同,对硬链接文件所做的更改将对其他文件产生影响,即使从系统中删除源文件,硬链接仍然有效。
硬链接共享相同的Inode值,与软链接不同,它们指向文件位置而不是目录。它通常用于允许多个硬链接用于同一文件的文件系统中。简而言之,硬链接只是基于UNIX的系统上现有文件的附加名称。
UNIX中软链接和硬链接的区别
含义
软链接(也称为符号链接)是一种特殊指针,用于建立文件之间的链接。它与Windows操作系统中提供的快捷功能非常相似。软链接只是文件的快捷方式,用作对另一个文件或目录的引用。硬链接与软链接非常不同。它充当原始文件的引用或指针,这意味着它是它指向的原始文件的精确镜像副本。简而言之,硬链接只是现有文件的附加名称。
行为
由于软链接文件包含指向原始文件的单独Inode值,因此如果从系统中删除原始文件或目录,则链接将变得不可访问。它只是文件的快捷方式,因此您可以删除软链接而不会实际影响原始文件或目录。与软链接不同,硬链接与指向同一文件位置的原始链接共享相同的Inode值。硬链接比软链接更灵活,因为即使从系统中删除原始文件,您也可以访问该文件。
命令
要在基于UNIX的系统中建立文件之间的链接,您需要使用“In”命令。软链接是指符号路径,它指示原始文件的位置而不是内容。使用“In -s”命令创建软链接。
在-s
在这里,您将'source_file'替换为要为其创建软链接的原始文件,将'myfile'替换为软链接或符号链接的名称,并且命令In -s创建指向文件的软链接name,都在当前目录中。
另一方面,“In”命令用于创建硬链接。 In命令是一个标准的UNIX命令,用于创建指向具有相同名称的多个文件的硬链接。
在
结构体
与可用于链接文件和目录的软链接不同,硬链接只能链接文件而不能链接目录。这种差异为软链接提供了硬链接所没有的某些特性,例如链接文件系统的能力。创建和删除符号链接不会影响原始文件。另一方面,硬链接不能用于链接文件系统之外的文件。硬链接与实际文件内容共享相同的Inode值,因此删除任何链接不会影响其他链接,它仍将显示该文件的内容。
软链接与硬链接:比较图表
软链接与硬链接的总结
简而言之,软链接和硬链接都允许多个文件名在其他位置引用相同的文件,但不同之处在于它们在从系统中删除源链接时的行为方式。硬链接占用的空间少于软链接,但对硬链接所做的任何更改最终都会反映在原始文件中,而对软链接的任何更改都不会对原始文件产生任何影响。软链接类似于Windows操作系统的快捷功能,用作引用原始文件或目录的别名,而硬链接类似于链接同一文件系统中两个文件的原始文件的副本。