来自用户观点看法,为了文件内容,符号链接与目标文件相同:
符号链接对于大多数操作都是透明的:读取或写入由符号链接命名的文件的程序的行为就像直接在目标文件上操作一样。
但是,似乎在某些情况下无法使用符号链接代替实际文件(Mac OS X 上忽略 icns 文件的符号链接)。
在更传统的 UNIX 中还有其他例子吗?
具体来说,是否存在无法使用符号链接代替实际文件的情况?
我知道(因此不感兴趣)的方面是:
- 当然,有许多 unix 命令的示例将符号链接与其目标区分开来(
ls
、stat
、find
&c)。然而,这些命令处理文件作为文件系统对象,而不是它们的内容。 - 其他示例包括安全措施(例如,
ftp
或apache
拒绝get
链接到树外的文件)。 - 还可以使用“电动工具”发明更多示例(例如,
emacs
可以根据是否在符号链接上调用而表现不同)。 - 开发商能当然,可以轻松区分文件和链接 - 从而让用户陷入困境。那么,他们什么时候实际上搞砸用户(没有充分的理由,就像上面的 Mac 图标一样)?
答案1
您不应将属于 Solaris 软件包的任何目录移动到其他目录,然后使用符号链接来修复路径。
虽然它最初可以工作,但一旦您安装了共享先前包路径的某些部分的补丁或新软件包,Solaris 软件包管理命令将删除符号链接并替换为普通目录。