← Back

Shell - Operating Systems, Linux, Shell

Shell - A Linux Shell in C

Prerequisites Description

The Linux Shell Operating System project is a command-line based operating system that provides a lightweight and efficient environment for users to interact with the underlying Linux kernel. Built around the concept of a shell, it allows users to execute commands, manage files, run programs, and perform various tasks efficiently through the terminal interface.


This project is a modification of the original work by Karmanjyot Singh, which focused on karma-Shell OS based on Linux kernal. I thoroughly studied and analyzed his implementation and made specific enhancements to tailor it for my Understanding skills of OS and Linux kernal.

Contributions Credit

I express my gratitude to Karmanjyot Singh for their pioneering work on the "karma-shell" project. My contributions to this modified version build upon the original groundwork, and I acknowledge Karmanjyot Singh for their significant contributions to this project.

Execution Instructions Introduction

This is Linux - C Shell

Shell Features
  1. The shell supports the following commands being implemented by me : `bg` , `baywatch` , `cd` , `echo` , `fg` , `history` , `jobs` , `ls` , `pinfo` , `pwd` , `replay` , `repeat` , `sig` , and other external `shell commands` .
  2. It with support for `redirection` operations [ `>` , `<` , `>>` ] and `piping` [ `|` ] .
  3. Error Handling
  4. Signal Handling for signals like `SIGINT` , `SIGTSTP` , `SIGCHLD` and external keyboard interrupts like Ctrl +C , Ctrl + Z.
  5. Running processes in `foreground` & `background` environments along with
  6. Command `history` implemented, storing the latest commands , that remains saved across shell-sessions.
  7. Multiple commands separated by `;` handled, However there's no support for handling `"` or `'` ( quotes ).

Command implementation are here [Refer this] and if you want to check out the Ground Work that's here.