Linux File System Simulator in C++
Tree data structures made tangible
simfs is a Linux file system simulator built from scratch in C++. It started from a simple observation: Linux's hierarchical file system is essentially a tree data structure.
When you navigate /home/user/docs/file.txt, you're traversing a tree:
This project implements that tree structure practically, with real file operations and some API integrations as bonus features. It gives a Terminal and you can use different basic linux cammands to interact with the system.
- Hierarchical storage using n-ary trees
- Complete path resolution with
.and..support - File operations: create, read, update, delete, move, copy
- Recursive search with wildcard pattern matching (
*.cpp,project*) - Memory management with RAII cleanup
- Modular C++ architecture
- libcurl for HTTP requests
- Custom JSON parsing
- Build automation
- Terminal UI with ANSI colors
- Weather API - Real-time weather
- Crypto API - Live cryptocurrency prices
- HTTP client implementation using libcurl
- Response caching to reduce API calls
simfs/
├── include/ # Headers (interfaces)
├── docs/
├── src/ # Implementation
├── main.cpp # Entry point
└── build.sh # Build automation# Clone and build
git clone https://github.com/israrkhan-cys/simfs.git
cd simfs
./build.sh
# Run
./simfsBuilt with ❤️ by Israr
