• 正文
  • 相关推荐
申请入驻 产业图谱

飞凌嵌入式ElfBoard-软连接(符号链接)与硬连接

2025/12/27
1249
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

Linux系统中,有软连接和硬连接两种不同的文件链接方式。

硬连接是对文件的另一个目录项,所有硬连接都指向相同的inode,就好比一块存储数据的内存有着多个名字,每增加一个硬连接,连接数就会加一。当连接数为0时,相对应的内存就会被彻底删除。

软连接就好比Windows系统中的快捷方式,最终指向的是源文件,一旦源文件删除,则软连接失效,而且软连接和源文件有这个不同的inode号。

下面介绍ln命令基本用法,方便后面做演示。

硬连接: ln 源文件 连接文件

软连接: ln -s 源文件 连接文件

大家自行找位置创建测试文件,我这里使用的是/home/elf/work/test,分别创建hard.txt、soft.txt、source.txt文件,最后使用stat命令查看最终结果。

$ stat ./*

File: ./hard.txt

Size: 0          Blocks: 0          IO Block: 4096   regular empty file

Device: 803h/2051d Inode: 5279891     Links: 2

Access: (0644/-rw-r--r--)  Uid: ( 1000/     elf)   Gid: ( 1000/ forlinx)

Access: 2024-11-06 21:31:37.948957601 +0800

Modify: 2024-11-06 21:31:37.948957601 +0800

Change: 2024-11-06 21:34:43.967331843 +0800

Birth: 2024-11-06 21:31:37.948957601 +0800

File: ./soft.txt -> source.txt

Size: 10         Blocks: 0          IO Block: 4096   symbolic link

Device: 803h/2051d Inode: 5279903     Links: 1

Access: (0777/lrwxrwxrwx)  Uid: ( 1000/     elf)   Gid: ( 1000/ forlinx)

Access: 2024-11-06 21:34:45.739296928 +0800

Modify: 2024-11-06 21:32:30.477947367 +0800

Change: 2024-11-06 21:32:30.477947367 +0800

Birth: 2024-11-06 21:32:30.477947367 +0800

File: ./source.txt

Size: 0          Blocks: 0          IO Block: 4096   regular empty file

Device: 803h/2051d Inode: 5279891     Links: 2

Access: (0644/-rw-r--r--)  Uid: ( 1000/     elf)   Gid: ( 1000/ forlinx)

Access: 2024-11-06 21:31:37.948957601 +0800

Modify: 2024-11-06 21:31:37.948957601 +0800

Change: 2024-11-06 21:34:43.967331843 +0800

Birth: 2024-11-06 21:31:37.948957601 +0800

上图中source.txt是源文件,hard.txt是硬连接文件,soft.txt是软连接文件。其中硬连接和源文件的inode号和连接数(Links)是一样的,这里因存在源文件和硬连接文件所以links数为2。软连接的inode数和link数与源文件都不一致,正好验证了前面的理论。

下面来说说硬连接和软连接的特点:

软连接:可以跨文件系统创建,并可以链接到目录。但删除源文件会导致符号链接失效(变成悬链接)。

硬连接:不能跨越文件系统创建,也不能链接到目录。但删除一个硬连接不影响其他硬连接或者源文件数据,直到最后一个硬连接被删除时,文件数据才会被清除。

创建软连接可以使用symlink()函数,创建硬连接文件可以使用link() 函数,下面就来介绍一下这两个函数。

飞凌嵌入式

飞凌嵌入式

保定飞凌嵌入式技术有限公司,创建于2006年,是一家专注嵌入式核心控制系统研发、设计和生产的高新技术企业,是国内较早专业从事嵌入式技术的企业之一。 经过十几年的发展与积累,公司拥有业内优秀的软硬件研发团队,在北京及保定建立两大研发基地,在苏州、深圳设有华东、华南技术服务中心,并在北美、欧洲以及亚太等其他国家和地区拥有国际业务网络。公司研发的智能设备核心平台广泛应用于物联网、工控、轨道交通、医疗、电力、商业电子、智能家居、安防、机器人、环境监测等诸多领域。

保定飞凌嵌入式技术有限公司,创建于2006年,是一家专注嵌入式核心控制系统研发、设计和生产的高新技术企业,是国内较早专业从事嵌入式技术的企业之一。 经过十几年的发展与积累,公司拥有业内优秀的软硬件研发团队,在北京及保定建立两大研发基地,在苏州、深圳设有华东、华南技术服务中心,并在北美、欧洲以及亚太等其他国家和地区拥有国际业务网络。公司研发的智能设备核心平台广泛应用于物联网、工控、轨道交通、医疗、电力、商业电子、智能家居、安防、机器人、环境监测等诸多领域。收起

查看更多

相关推荐