A small Linux shell, nicknamed Smash. It was created by me as part of an OS course assignment.
Smash supports the following commands:
pwd- show working directory.cd <path>- change working directory.history- show latest commands.jobs- show all running/stopped jobs.kill -<signum> <job>- send signum to job # from jobs.showpid- show Smash's own process ID.fg [job number]- run latest/specified job in foreground.bg [job number]- run latest/specified job in background.quit [kill]- exit smash and optionally kill all running jobs.cp <old file name> <new file name>- create a copy of an existing file.diff <file1> <file2>- compare the content of two files.
<command> [arguments]- run command in foreground.<command> [arguments] &- run command in background.
ctrl+c- kill foreground process.ctrl+z- stop foregroud process.
Smash is available for running at https://replit.com/@naftali10/OS-HW1
The work directory has 2 executables to play with using Smash: count & print_hello.