如何创建排除某些文件的文件夹的文件系统“视图”?

ænd*_*rük 7 filesystem backup mount

我想在文件系统中有一个路径,显示其他路径的全部内容,不包括我选择的一些特定文件。例如,如果以下已经存在,

original-path
??? file1
??? file2
??? file3
??? file4
??? folder1
?   ??? file1
?   ??? file2
??? folder2
    ??? file1
    ??? file2
Run Code Online (Sandbox Code Playgroud)

我希望能够从指向相同数据的新路径中排除/file1/folder1/file1/folder2

new-path
??? file2
??? file3
??? file4
??? folder1
    ??? file2
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?某种绑定挂载、FUSE 文件系统或巧妙的链接方案?

ænd*_*rük 3

rofs-filtered是一个源自Read-Only Filesystem 的FUSE 文件系统,可以使用正则表达式排除文件:

\n\n
$ cat rofs-filtered.rc \n^/file1$\n^/folder1/file1$\n^/folder2$\n$ rofs-filtered -c /home/ak/sandbox/rofs-filtered.rc /home/ak/sandbox/original-path /home/ak/sandbox/new-path\n$ tree {original,new}-path\noriginal-path\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file1\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file2\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file3\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file4\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 folder1\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file1\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 file2\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 folder2\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file1\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 file2\nnew-path\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file2\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file3\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file4\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 folder1\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 file2\n
Run Code Online (Sandbox Code Playgroud)\n\n

rofs-filtered 在 Ubuntu 的存储库中不可用,但我已开始请求添加它

\n