Linux中软链接和硬链接的区别

系统 Linux
是一种快捷访问机制,它通过一个文件指向原始文件或目录的方式实现快捷访问,同时还记录了原始文件或目录的一些信息。

[[328448]]

链接Link是一种快捷访问机制,它通过一个文件指向原始文件或目录的方式实现快捷访问,同时还记录了原始文件或目录的一些信息。

链接允许多个不同文件对同一个文件进行引用。

什么是软链接

符号链接Symbolic Link(symlink),又称软链接Soft Link,是一种特殊的文件,它指向 Linux 系统上的另一个文件或目录。

这和 Windows 系统中的快捷方式有点类似,链接文件中记录的只是原始文件的路径,并不记录原始文件的内容。

符号链接通常用于对库文件进行链接,也常用于链接日志文件和网络文件系统Network File System(NFS)上共享的目录。

什么是硬链接

硬链接是原始文件的一个镜像副本。创建硬链接后,如果把原始文件删除,链接文件也不会受到影响,因为此时原始文件和链接文件互为镜像副本。

为什么要创建链接文件而不直接复制文件呢?

当你需要将同一个文件保存在多个不同位置,而且还要保持持续更新的时候,硬链接的重要性就体现出来了。

如果你只是单纯把文件复制到另一个位置,那么另一个位置的文件只会保存着复制那一刻的文件内容,后续也不会跟随着原始文件持续更新。

而使用硬链接时,各个镜像副本的文件内容都会同时更新。

软链接和硬链接的区别

下表列出了软链接和硬链接之间的区别。

# 软链接 硬链接
1 软链接类似于 Windows 系统中的快捷方式 硬链接是原始文件的一个镜像副本
2 软链接又称符号链接 硬链接没有别名
3 链接中任何一个文件发生改变,都会同步到连接中的其它文件 和软链接一样
4 软链接可以跨文件系统进行创建 硬链接不可以跨文件系统进行创建
5 软链接可以指向文件或目录 硬链接只能指向文件
6 链接文件和原始文件之间的 inode 和文件权限不完全一致 链接文件和原始文件的 inode 和文件权限完全一致
7 链接文件只记录原始文件的路径,不记录原始文件的内容 链接文件记录了原始文件的内容
8 如果原始文件被移除,软链接就会因为指向不存在的文件而失效。这被称为“挂起链接hanging link 即使原始文件被移除,链接文件也不受影响。
9 通过 ln -s <原始文件> <链接文件> 命令创建软链接 通过 ln <原始文件> <链接文件> 命令创建硬链接
10 软链接文件的文件权限中有一个特殊标记 l 硬链接文件没有特殊标记
11 通过 find / -type l 命令可以查找软链接文件 通过 find / -samefile <原始文件> 命令可以查找硬链接文件
12 通过 symlinks <目录> 命令可以查找失效的软链接 硬链接不存在失效链接

 

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2019-11-01 11:06:02

Linux操作系统Windows

2023-11-15 08:27:46

Linux系统

2017-01-15 15:27:51

Linux软连接和硬链接

2022-02-28 09:44:09

Linux硬链接软链接

2022-10-21 08:18:54

Linuxln 命令

2018-11-09 10:10:09

Linux硬链接软链接

2018-11-09 10:30:05

Linux硬链接软链接

2021-06-18 08:15:37

Linux软链接硬链接

2019-06-21 10:52:28

软连接硬链接Linux

2010-05-04 13:09:21

Unix操作系统

2009-12-23 10:36:48

Linux操作系统

2023-10-17 08:13:41

C++链接

2021-07-16 10:20:56

Linux 硬链接Linux 系统

2023-07-25 16:55:15

Linuxinode

2023-03-05 16:36:14

Linux链接目标文件

2023-02-13 11:26:03

符号链接Linux

2013-11-14 11:38:20

Linux Kerne编译

2023-02-06 17:49:35

Linux符号链接

2010-03-01 16:40:40

Linux Makef

2010-02-25 15:11:48

Linux Makef
点赞
收藏

51CTO技术栈公众号