Projects

Linux Shell

A Unix-style shell written from scratch in C, with built-in commands and separately compiled external commands.

C · LinuxCode ↗

Overview

A small interactive shell that reads a command line, tokenises it and dispatches it — either handling it internally or running a separately compiled binary.

Commands

  • Built in: exit, pwd, help, echo, cd, history
  • External binaries: ls, cat, date, rm, mkdir

Each command supports a subset of the familiar flags — for example echo -n/-e/-E, ls -a/-1, cat -n/-E, date -r/-u, rm -d/-i and mkdir -m/-v.

Robustness

The shell validates argument counts, unknown options, missing files and unknown commands, reporting a clear error instead of crashing.