A file archive format and virtual filesystem backed by a SQLite database.
This library is a Rust implementation of the sqlar format for SQLite archive files.
This library consists of:
- A Rust API
- A CLI
- TODO: A FUSE filesystem
To add this library to your project:
cargo add sqlarfsSee the API docs for documentation and examples.
To install the CLI tool, install Rust and run:
cargo install sqlarfs-cliThe binary will be installed to ~/.cargo/bin/sqlar.
Archive directory and extract it to a target directory:
sqlar create ./src
sqlar extract -a src.sqlar ~/DesktopArchive two directories and extract them to the current directory:
sqlar create -a files.sqlar ~/Documents ~/Pictures
sqlar extract -a files.sqlarExtract a specific file from an archive:
sqlar extract -a documents.sqlar -s Documents/report.pdfAdd a file to an existing archive.
sqlar archive -a documents.sqlar ~/Downloads/report.pdf Documents/report.pdfList all regular files in an archive:
sqlar list -a documents.sqlar -t fileList only the immediate children of a specific directory in an archive:
sqlar list -a documents.sqlar --children Documents/Reports/Remove a file from an archive:
sqlar remove -a documents.sqlar Documents/report.pdfThe tool has a shorthand syntax for each command:
sqlar c -a files.sqlar ~/Documents ~/Pictures
sqlar ex -a files.sqlar
sqlar ls -a files.sqlar
sqlar rm -a files.sqlar Documents