https://github.com/narumatt/sqlitefs
sqlite as a filesystem
https://github.com/narumatt/sqlitefs
Last synced: 27 days ago
JSON representation
sqlite as a filesystem
- Host: GitHub
- URL: https://github.com/narumatt/sqlitefs
- Owner: narumatt
- License: mit
- Created: 2019-10-19T15:32:03.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-11-28T11:10:49.000Z (5 months ago)
- Last Synced: 2025-03-20T00:06:09.032Z (28 days ago)
- Language: Rust
- Homepage:
- Size: 124 KB
- Stars: 258
- Watchers: 2
- Forks: 9
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-sqlite - sqlite-fs - Mount a SQLite database as a normal filesystem on Linux and macOS. (Apps and Communities buidling on SQLite)
README
# sqlite-fs
## About
sqlite-fs allows Linux and MacOS to mount a sqlite database file as a normal filesystem.
## Requirements
- Latest Rust Programming Language (≥ 1.38)
- libfuse(Linux) or osxfuse(MacOS) is required by [fuse-rs](https://github.com/zargony/fuse-rs)## Usage
### Mount a filesystem```
$ sqlite-fs []
```If a database file doesn't exist, sqlite-fs create db file and tables.
If a database file name isn't specified, sqlite-fs use in-memory-db instead of a file.
All data will be deleted when the filesystem is closed.### Unmount a filesystem
- Linux
```
$ fusermount -u
```- Mac
```
$ umount
```## example
```
$ sqlite-fs ~/mount ~/filesystem.sqlite &
$ echo "Hello world\!" > ~/mount/hello.txt
$ cat ~/mount/hello.txt
Hello world!
```## functions
- [x] Create/Read/Delete directories
- [x] Create/Read/Write/Delete files
- [x] Change attributions
- [x] Copy/Move files
- [x] Create Hard Link and Symbolic Link
- [x] Read/Write extended attributes
- [] File lock operations
- [] Strict error handling