当前位置:首页>Linux>Linux 软链接和 Win 快捷方式有什么区别?

Linux 软链接和 Win 快捷方式有什么区别?

  • 2026-10-11 03:47:10
Linux 软链接和 Win 快捷方式有什么区别?

相信你在看到这样的内容时也会产生疑问:

/sbin/init -> /lib/systemd/systemd

这是不是就相当于 Windows 的快捷方式?

答案是:

可以这样理解,但它比 Windows 的快捷方式更强大,也更底层。

今天我们就来聊聊 Linux 的软链接(Symbolic Link)和 Windows 快捷方式(Shortcut)有什么区别。

一、什么是 Windows 快捷方式?

Windows 中,我们经常会在桌面看到这样的图标:

QQ.exeQQ.exe - 快捷方式.lnk

双击快捷方式,实际上打开的是:

QQ.exe

快捷方式本身并不是程序,它只是保存了目标程序的位置。

如果把真正的 QQ 删除了,再双击快捷方式,就会提示找不到目标。

因此很多人第一次看到 Linux 的软链接时,会觉得这不就是快捷方式吗?

但只有一半是对的。

二、什么是 Linux 软链接?

Linux 中可以创建软链接:

ln -s a.txt b.txt

此时目录中会出现:

a.txtb.txt -> a.txt

这里的 -> 表示:b.txt 指向 a.txt。

读取:

cat b.txt

实际上读取的是:

cat a.txt

执行:

./b.txt

实际上执行的是:

./a.txt

从使用体验来看,确实和 Windows 的快捷方式非常相似。

三、最大的区别:一个是文件系统功能,一个只是普通文件

这也是两者最本质的区别。

Windows 快捷方式

Windows 的快捷方式就是一个 .lnk 文件。

例如:

QQ.exe.lnk

对于 Windows 来说,它只是一个特殊格式的普通文件。

资源管理器认识它,所以双击可以打开目标程序。

但是很多命令行程序并不会自动解析 .lnk 文件。

例如:

copytype

很多情况下处理的是快捷方式文件本身。

Linux 软链接

Linux 的软链接则完全不同。

它不是普通文件,它属于文件系统支持的一种特殊文件类型。

当任何程序打开一个软链接时:

程序 │ ▼soft-link │ ▼真实文件

Linux 内核会自动找到真正的目标。

程序甚至不知道自己打开的是一个软链接。

例如:

cat hello-link.txt

cat 并不知道中间经过了一个软链接。

它看到的就是:

hello.txt

这一切都是内核自动完成的。

四、删除目标后的表现

假设:

a.txtb.txt -> a.txt

删除:

rm a.txt

目录中仍然存在:

b.txt -> a.txt

但是:

cat b.txt

会提示:

No such file or directory

因为软链接只是保存了目标路径。

目标不存在了,它就成了一个悬空(损坏)软链接(Broken Symlink)。

Windows 的快捷方式也是类似的。

如果目标程序删除了,快捷方式仍然存在,只是打不开。

五、为什么 Linux 到处都是软链接?

很多人第一次查看 Linux 系统目录时,会发现大量软链接,例如:

/bin  -> /usr/bin/lib  -> /usr/lib/sbin -> /usr/sbin

还有:

/sbin/init    ↓/lib/systemd/systemd

为什么不直接复制一份文件?

原因是:兼容。

早期的软件一直使用:

/sbin/init

后来真正的程序变成了:

/lib/systemd/systemd

为了不修改所有旧程序,只需要建立一个软链接即可。

所有老程序仍然能够正常运行。

六、为什么 Linux 不用快捷方式?

因为 Linux 的软链接已经足够强大。

它直接由文件系统和内核支持。

任何程序:

  • cp
  • mv
  • cat
  • vim
  • gcc
  • Python
  • Go
  • Java

都能够自动识别软链接。

开发者不需要专门去处理。

而 Windows 的快捷方式更多是一种面向用户的功能,主要服务于桌面和资源管理器。

七、一张图理解二者的区别

WindowsQQ.exe.lnk      │      ▼资源管理器解析      │      ▼QQ.exe
Linuxsoft-link     │     ▼Linux 内核自动解析     │     ▼真实文件

最大的区别就在于:

Windows 是应用程序(资源管理器)认识快捷方式;Linux 是操作系统内核认识软链接。

最新文章

随机文章