需要隐藏符号链接而不隐藏其链接到的目录

需要隐藏符号链接而不隐藏其链接到的目录

我使用创建了一个指向我主文件夹中目录的符号链接(特别是符号链接,而不是 Bash 无法跟踪的 Finder 别名)ln -s link $HOME/directory,现在我想在 Finder 中隐藏该链接,这样我就不必查看它了。通常我会使用来chflags hidden link实现这一点,但这当然会影响目录,而不是链接。我不能使用标准的前导点,因为链接本身的名称对于查找它的应用程序来说很重要,而前导点会更改名称。

所以我的问题是,如何隐藏符号链接而不隐藏它链接到的目录或更改其名称?

编辑:我故意把我的问题弄得模糊,因为这是一个使用 Finder 的小实验,但这里有一些细节可以清楚地说明我正在尝试做什么。

Finder 使用 $HOME/Desktop 文件夹作为桌面本身,只要它位于 $HOME 目录中,它无论是链接、别名还是名为“桌面”的完全不同的文件夹(例如主文件夹本身)。

我创建了一个名为“Desktop”的指向我主目录的符号链接,以便用我的主文件夹的内容填充 Finder 桌面的内容(如果您尝试这样做,它只有在您再次登录后才会生效,这也是在 10.6 上完成的)。这当然也会将符号链接本身放在我的桌面上,我既不想在 Finder 窗口也不想在桌面上看到它。如果我将其重命名为“.Desktop”以隐藏它,它会被隐藏,但我的主文件夹和桌面之间的链接也会被破坏。

答案1

SetFile -P -a V 文件名

'-P' 标志将使其对符号链接进行操作,而不是它指向的内容。'-a V' 部分将打开不可见属性以将其隐藏在 Finder 中。

答案2

您还可以使用chflags -h不跟踪符号链接:

chflags -h hidden /path/to/symlink

答案3

将链接重命名为 .link

答案4

正如 drvdijk 所说,您可以将符号链接重命名为.link。名称以点开头的项目通常会在 GUI 文件浏览器(如 Finder)和大多数命令行程序中隐藏。例如,除非您传递(show files) 或(show files) ls,否则不会显示它。-a--all-A--almost-all

相关内容