The File Explorer Capstone Project is a Linux-based, terminal-driven file management system developed using C++17.
It replicates the functionality of a Linux shell — allowing users to navigate, create, move, copy, and analyze files and directories through command-line commands.
Built and tested on Ubuntu (via WSL2) using VS Code, this project demonstrates expertise in Linux System Programming, C++ STL, and filesystem operations.
To design and implement a simple command-line File Explorer that performs fundamental file and directory operations in Linux — while reinforcing system-level programming concepts in C++.
| Tool / Technology | Purpose |
|---|---|
| C++17 STL | Core programming language |
| Filesystem Library | File and directory handling |
| WSL2 (Ubuntu) | Linux runtime environment |
| VS Code | Code editor & build environment |
| Makefile | Build automation |
| Git & GitHub | Version control and documentation |
Implemented Commands:
pwd→ Print working directoryls→ List files/foldersexit→ Exit the program
Highlights:
- Project setup and environment configuration
- Tested basic shell commands in C++
- Implemented Makefile for compilation
Implemented Commands:
cd <dir>→ Change directorymkdir <dir>→ Create directorytouch <file>→ Create a new file
Highlights:
- Introduced
std::filesystem::current_path() - Added exception handling for invalid directories
- Practiced argument parsing and validation
Implemented Commands:
cp <src> <dest>→ Copy filemv <src> <dest>→ Move or rename filerm <file>→ Remove fileinfo <file>→ Display file information
Highlights:
- Used
std::filesystem::copy,rename,remove - Implemented
chronofor last modified time - Improved error handling and input validation
Implemented Commands:
find <name>→ Search recursively for file/foldertree→ Display directory structurehelp→ Show command guide
Highlights:
- Recursive directory traversal
- Implemented visual
treecommand output - Added in-terminal help menu
Implemented Commands:
history→ Show executed commandsclear→ Clear terminal screenexit→ With user confirmation
Highlights:
- Implemented command history vector
- Enhanced UI/UX with clear screen feature
- Final testing and code optimization
file-explorer-capstone/
├── Day1/
│ └── file_explorer.cpp
├── Day2/
│ └── file_explorer.cpp
├── Day3/
│ └── file_explorer.cpp
├── Day4/
│ └── file_explorer.cpp
├── Day5/
│ └── file_explorer.cpp
├── src/
│ └── file_explorer.cpp # Final version (Day 5)
├── screenshots/
│ ├── day1.png
│ ├── day2.png
│ ├── day3.png
│ ├── day4.png
│ └── day5.png
├── Makefile
├── README.md
└── .gitignore
make./file_explorermake cleanpwd
ls
mkdir test
cd test
touch file.txt
info file.txt
cp file.txt backup.txt
mv backup.txt ../
find file.txt
tree
history
exitBiseswar Mohapatra
🎓 Linux System Programming | C++ Developer | Automation Enthusiast
📧 biseswarmohapatra214@gmail.com
🌐 GitHub Profile
This project demonstrates a practical understanding of:
- Linux filesystem operations
- Command-line interface development
- Modern C++17 features and STL
- Structured software design and documentation




