欢迎,来自IP地址为:3.239.97.34 的朋友



本文 将详细讲解 Linux 系统中符号链接的概念和用法,以及在使用符号链接时需要注意的问题。

什么是 Linux 系统符号链接以及符号链接的用途

符号链接(也称为软链接)是一种特殊类型的文件,它只是指向另一个文件或目录,就像Windows中的快捷方式一样。 创建符号链接就如同给文件创建别名一样。

如果尝试访问符号链接,则实际访问的是符号链接指向的源文件。对链接文件的内容执行的更改会更改实际目标文件的内容。

如果使用带有选项 “-l” 的 “ls” 命令,则这是符号链接的样子:

lrwxrwxrwx   1 root root       14 Jan 28 16:32 system-release -> centos-release

在大多数 Linux 发行版中,符号链接文件以与其他条目不同的颜色显示,以便区分常规文件和目录的链接。

符号链接事实上提供了一种组织和共享文件的便捷方式,使用符号链接可以实现对长而混乱的目录路径进行快速访问。符号链接被大量用于访问 Linux 的系统库。

现在你对符号链接了解一点,让我们看看如何创建它们。

Linux 系统如何创建符号链接

要创建从源到链接名称的符号链接,可以使用带”-s”选项的”ln”命令,如下所示:

# ln -s source link_name

这里的”-s”选项很重要,因为它指定链接是软链接。如果不使用该选项,则命令将创建一个硬链接。硬链接同软链接的主要区别在于硬链接会创建一个同源文件一样的副本,而不是指向源文件的快捷方式。

使用符号链接的注意事项

1. 对于符号链接的修改将影响到源文件

这毕竟是使用符号链接的根本目的,通过对于链接的修改,以达到修改源文件的目的。示例如下:

假设预先创建了一个文件”Source.txt”,其内容为”www.daehub.com”,之后创建符号链接”link_source”,再对”link_source”文件作出修改时,会发现源文件”Source.txt”内容也随之发生变化。

2. 链接的是目录还是文件,我们不知道

链接指向的是文件还是目录, 在遵循路径并访问源文件本身之前,我们无法知道这一点。

3. 可以创建指向不存在的目录或文件的链接

是的,这完全有可能。这也是为什么在 Linux 中创建软链接时要小心的原因。 创建符号链接的源文件不需要存在,执行命令时,系统不会给出任何错误或警告,用于提示无法创建指向不存在的文件或目录的链接。

当符号链接创建完成时,指向不存在文件或目录的链接会以其它颜色提示链接存在问题,如果访问该符号链接文件,以得到对应的错误信息:

4. 符号链接在创建时具有”777″权限,但并不会影响源文件的权限

是否注意到符号链接上的文件权限? 符号链接始终使用”777″权限(rwxrwxrwx)创建。对于常规文件,这意味着任何人都可以访问该文件,但符号链接并非如此。

如果以符号链接的权限来对待源文件本身,则任何用户都可以创建一个指向该文件的符号链接,并由此来自由访问源文件,这将是一个重大的安全问题。但是 Linux 系统不会这么笨,这永远不会发生。因为源文件的访问权限任由它本身来决定,符号链接只是决定它自己能不能被访问。

同时,如果使用”chmod”命令更改符号链接的权限,但它将更改链接源文件的权限,而不是链接本身。

5. 可以使用指向链接的链接来创建链式符号链接

当然,我们同样可以创建指向另一个链接的符号链接,依此类推。这种方式被称为链式符号链接。在实际操作时应尽量避免使用链式符号链接,因为它会造成更多混乱。

好了,以上就是针对 Linux 系统符号链接的全部内容,希望对大家理解和使用符号链接有所帮助。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注