0

符号链接和快捷方式有什么区别?

当我阅读有关java.nio.file包的 Oracle 文档时,我开始了解符号链接。起初,我以为他们在谈论捷径,因为起初它们在我看来都是一样的。但后来我意识到我是在没有证据的情况下假设这一点,所以我用谷歌搜索并找到了一些关于两者之间差异的链接。但我无法清楚地了解这些实际上是什么,因为答案不是那么好。我希望我能在这里得到一个解释!

4

1 回答 1

0

符号链接是一个特殊文件,它引用磁盘上的另一个路径。如果应用程序打开此文件(或将其包含在路径中),操作系统将默默地跟随该链接。

例如,假设您有一个符号链接l,它指向一个d包含文件的目录file。观察:

$ ls d/
file
$ ls l/
file
$ touch l/file2  # Create a new file in the path under l
$ ls d/
file  file2

符号链接(symlinks)是操作系统文件系统部分的一个特性。它们可以被任何应用程序使用;确实希望以不同方式处理符号链接的应用程序(例如备份程序,不能盲目地遵循符号链接,以免文件数量变得无限)需要采取特殊的预防措施。

相反,快捷方式是由用户界面(UI)以不同方式呈现的常规文件。快捷方式文件还包含所需的目标路径,但可以包含附加信息,例如图标、命令行参数、作为另一个用户运行目标的 UI 的指令、目标的分类、翻译信息等。对于应用程序,快捷方式是一个常规文件,其内容描述了快捷方式。例如,如果您使用编辑器打开一个 .desktop 文件,您将看到如下信息

Icon=libreoffice-calc
Exec=libreoffice --calc %U
GenericName=Spreadsheet
GenericName[da]=Regneark

如果要向用户界面(通常是图形部分)添加条目,通常应该使用快捷方式。快捷方式允许您扩展自定义 - 例如,丹麦用户将看到Regneark,而英语用户将在上面的示例中看到电子表格。

另一方面,如果您希望别名对所有应用程序可见,请改为使用符号链接。例如,您可能拥有某些应用程序期望的文件的旧名称,或者一个可以执行多项操作的应用程序,或者项目目录的当前版本。

请注意,有些系统不支持符号链接,有些系统没有使用快捷方式。如果没有图形界面(例如没有连接显示器的家庭路由器),快捷方式将没有用处。另一方面,符号链接需要文件系统(FAT没有)以及操作系统(DOS/旧版本的 Windows 缺乏支持)的支持。

于 2016-07-10T15:59:24.390 回答