In memory file system mostly as a playground for async rust
(When possible commands mirror gnu utils for discoverability)
-
Terminal Client
-
Interactive
-
Multi-user Concurrent Support
-
Auto clear
-
Help
-
-
List with
ls
-
Working Directory
-
absolute path
-
relative path
-
parent path
-
-
Change working directory with
cd
-
absolute path
-
parent path
-
relative path
-
-
Create a new directory with
mkdir
-
absolute path
-
parent path
-
relative path
-
auto mkdir
-
-
Remove directory or "file" with
rm
-
absolute path
-
parent path
-
relative path
-
-
Create a new file with
touch
-
Write to file with
write
-
Read out file with
read
-
Search working directory with
find
-
cp
-
Files
-
Directories
-
-
mv
-
Files
-
Directories
-
-
AuthZ
-
Assign users and groups to directories/files
-
create new
-
users
-
groups
-
-
assign/remove users to groups
-
switch users
-
Restrict access based on user/group membership
-
-
CI
- Build on PR
- Test on PR
-
Relative parent directory (ie
../..
orfoo/../bar
) -
Client file writes are overwrite
-
Only support unix; windows paths are awful
- rust (
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
) to install the tool chain comes with cargo - cargo
cargo test in relevant folders
bash build.sh
bash release.sh
bash run-server.sh
bash run-client.sh