相当于 Unix 的智能文件夹

相当于 Unix 的智能文件夹

我想要做的是呈现一个目录,其内容来自文件系统上的一系列其他目录。它就像一个软链接,一次只能链接到多个目录,而不是一个。

该目录可能被认为是只读的 - 或者,如果对文件进行了更新,如果这些更新发生在源文件中,那就太好了(即目录是进入文件上许多位置的“窗口”)系统)

如果在此“伪”目录中创建新文件,则应将其放入某个默认位置,或者完全拒绝。

Windows(名为库)和 OSX(智能文件夹)中也存在类似的功能 - Unix 上有等效的功能吗?

答案1

它不作为标准 Unix 或图形 Linux 界面的一部分提供。

Linux系统管理员可以使用overlayfs。实际上,最重要的用途之一是允许修改正在运行的 LiveCD 系统,例如安装额外的软件包。

FUSE 中也有类似的功能,无需 root 权限即可在 Linux 上使用。 FUSE 会有额外的限制,但它可以很好地适用于与您提到的功能相同的情况。 unionfs-fuse 似乎在 ubuntu 中可用。 (“联合安装”是该概念的较旧术语)。

答案2

你的问题已被问到这里

我修改了 paxdiablo 先生的脚本来满足您的问题:

#!/bin/bash
while true; do
    mkdir nu
    for i in dir1/* dir2/* dir3/*; do
        ln -s $i nu/$(basename $i)
    done
    mv smartdir ole
    mv nu smartdir
    rm -rf ole
done

因此dir1, dir2,dir3是您想要符号链接到的目录,并且smartdir是“智能文件夹”。只需将其作为启动运行即可。请注意, 中不应该有文件或文件夹dir{1, 2, 3},否则你会被搞砸(好吧,所以你可以调用脚本愚蠢的文件夹制造商代替)。

相关内容