linux平台上,有无软件可以制作虚拟文件指向多个文件,避免重复占用空间?

发布于 2022-09-04 04:54:16 字数 423 浏览 20 评论 0

运行平台:CentOS

需求:类似这样

/opt/virtual.file 指向:/opt/1.file /opt/2.file /opt/3.file

首先,我知道合并的命令,但是这样会新建一个文件,并占用空间

我希望的是访问 /opt/virtual.file,相当于系统动态把这三个文件合并成一个当成一个来访问

这个需求并不是使用nginx_http_concat中合并js/css的请求

因为上传文件的时候为了保证稳定性,按照 5M/块 的情况下分隔上传,虽然也可以使用程序合并这些块,但是有没软件可以让系统做虚拟文件,指向到这些分块,这样就可以不用合并了

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

幸福还没到 2022-09-11 04:54:16

这个必须使用fuse来实现,以及大神写的:https://github.com/schlaile/c...

  1. 安装编译concatfs

    yum install fuse fuse-devel
    git clone https://github.com/schlaile/concatfs.git
    cd concatfs/src
    gcc -Wall concatfs.c `pkg-config fuse --cflags --libs` -o concatfs
    cp ./concatfs /bin
  2. 使用挂载的方式启动一个目录
    原目录:
    /opt/www/website/
    里面包含文件
    index.html test.html
    创建一个待挂载的目录
    mkdir /opt/www/website_mnt
    执行
    concatfs /opt/www/website/ /opt/www/website_mnt
    没报错就已经在后台运行

  3. 创建一个特殊的文件名 包含-concat-

    只要包含 -concat- 将会被concatfs特殊解析

    vim /opt/www/website/1-concat-.txt

    内容

    index.html
    test.html

    注意结尾列也需要有回车符 LF,不然最后那个文件不会加载

  4. 现在访问 /opt/www/website_mnt/1-concat-.txt 便会返回这两个文件合并之后的数据
    相当于这两个文件动态合并了,其实在物理上并没有合并
    注意是 website_mnt/1-concat-.txt 目录
    访问原目录的 website/1-concat-.txt 仍然是原文件

  5. PS: 并没有测试写入 /opt/www/website_mnt/1-concat-.txt 的情况

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文