#archive #sqlite #archive-format #virtual-filesystem #database #sqlar

bin+lib sqlarfs

基于 SQLite 数据库的文件存档格式和虚拟文件系统

1 个不稳定版本

0.1.0 2024年5月22日

#822 in 文件系统


sqlarfs-cli 中使用

MIT 许可证

130KB
2K SLoC

Tests Workflow Status (main) Codecov Crates.io docs.rs

sqlarfs

基于 SQLite 数据库的文件存档格式和虚拟文件系统。

此库是 SQLite 存档文件格式 sqlar 的 Rust 实现。

此库包括

  • Rust API
  • 命令行界面 (CLI)
  • TODO: FUSE 文件系统

Rust API

要将此库添加到您的项目

cargo add sqlarfs

请参阅API 文档以获取文档和示例。

命令行界面 (CLI)

安装

要安装 CLI 工具,请安装 Rust并运行

cargo install sqlarfs-cli

二进制文件将被安装到~/.cargo/bin/sqlar

示例

存档目录并将其提取到目标目录

sqlar create ./src
sqlar extract --archive src.sqlar ~/Desktop

存档两个目录并将其提取到当前目录

sqlar create --archive files.sqlar ~/Documents ~/Pictures
sqlar extract --archive files.sqlar

从存档中提取特定文件

sqlar extract --archive documents.sqlar --source Documents/report.pdf

将文件添加到现有存档。

sqlar archive --archive documents.sqlar ~/Downloads/report.pdf Documents/report.pdf

列出存档中的所有常规文件

sqlar list --archive documents.sqlar --type file

列出存档中特定目录的直接子项

sqlar list --archive documents.sqlar --children Documents/Reports/

从存档中删除文件

sqlar remove --archive documents.sqlar Documents/report.pdf

该工具为每个命令提供了简写语法

sqlar c -a files.sqlar ~/Documents ~/Pictures
sqlar ex -a files.sqlar
sqlar ls -a files.sqlar
sqlar rm -a files.sqlar Documents

依赖项

~22–31MB
~489K SLoC