是否有一个程序可以模拟 ubuntu 中数据库的文件夹/文件结构?

是否有一个程序可以模拟 ubuntu 中数据库的文件夹/文件结构?

我有一个包含大约 500,000 个文件的数据库。它们是文本文件,文件夹结构将它们分成大约 40 个文件的组。我选择这种结构是因为我希望能够使用文本编辑器查看每个文件。但我想减少文件数量,以便备份速度更快。

我正在寻找一个模拟标准文件结构但实际上是一个文件的程序(或数据库结构)。我的理想结构是包含几个 .zip 文件夹之类的东西,但允许通过 python 和文本编辑器中的文件引用读取、访问和写入 .zip 中的文件和文件夹(例如,使用“nano dataGroup1.zip/folderA/file.txt”之类的简单引用)。

有这样的程序吗?

编辑:我提到的备份是文件结构的直接副本。我将整个文件夹复制并粘贴到可移动媒体上。

答案1

您可以使用 Fuse (https://en.wikipedia.org/wiki/Filesystem_in_Userspace) 。

github 上的项目https://github.com/libfuse/libfuse

这是一个非常成熟的项目,因此在 Ubuntu 中您已经拥有所有软件包。

例子 :

  1. 创建一个 zip
cd /tmp/
zip test_fuse_zip.zip /etc/printcap /etc/profile /etc/environment 
  1. 验证内容
unzip -l /tmp/test_fuse_zip.zip 

Archive:  test_fuse_zip.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
      135  2020-06-20 19:31   etc/printcap
      581  2018-04-09 07:10   etc/profile
      399  2020-06-18 23:07   etc/environment
---------                     -------
     1115                     3 files
  1. 创建安装点
mkdir /tmp/my_zip_fs
  1. 安装 zip 文件,使其显示为文件系统
fuse-zip /tmp/test_fuse_zip.zip  /tmp/my_zip_fs/
  1. 在文件夹中做一些修改
cd /tmp/my_zip_fs/

mkdir lib
mkdir usr
mkdir root
date > root/cur_date.txt

cd /tmp/
  1. 卸载zip
fusermount -u /tmp/my_zip_fs 
  1. 检查内容
unzip -l /tmp/test_fuse_zip.zip 

Archive:  /tmp/test_fuse_zip.zip
Length      Date    Time    Name
---------  ---------- -----   ----
      135  2020-06-20 19:31   etc/printcap
      581  2018-04-09 07:10   etc/profile
      399  2020-06-18 23:07   etc/environment
        0  2020-06-21 13:43   lib/
        0  2020-06-21 13:43   usr/
        0  2020-06-21 13:44   root/
       29  2020-06-21 13:44   root/cur_date.txt
---------                     -------
 1144                     7 files

相关内容