← Projects
Custom Unix Shell
Built a fully functional Unix shell from scratch using C. The shell supports standard command execution, piping, redirection, and background processes, closely replicating core functionality seen in common Unix shells like Bash.
Key Skills Demonstrated
- Used system calls such as fork, exec, wait, dup, and pipe to manage process creation and inter-process communication.
- Implemented support for piping, input/output redirection, and background job execution.
- Built custom command parsing logic to tokenize input and handle arguments, redirection symbols, and control characters.
- Gained hands-on experience with Unix process management, file descriptors, and low-level I/O handling.
- Followed structured error handling and memory management practices to ensure stability.
Project Insights & Learnings
Building a shell provided practical experience in working directly with the operating system. It helped me develop a strong understanding of how processes, pipes, and file descriptors work under the hood in Unix environments.
This project also reinforced my understanding of systems programming concepts that later became useful when working on larger backend and performance-critical projects.