符号链接和快捷方式之间的区别

时间:2016-07-10 15:16:05

标签: java symlink shortcuts java.nio.file

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

当我在 java.nio.file 包中阅读Oracle的文档时,我开始了解符号链接。起初,我认为他们正在讨论快捷方式,因为起初他们对我来说都是一样的。但是后来我意识到我没有证据就假设这样,所以我用Google搜索并发现了一些关于两者之间差异的链接。但我无法清楚地了解这些实际上是什么,因为答案并不那么好。我希望我能在这里得到解释!

1 个答案:

答案 0 :(得分: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

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

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

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

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

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

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