Custom UNIX Shell for Basic Terminal Operations
A project demonstrating the development of a custom UNIX Shell for basic Linux terminal operations using C
DOI:
https://doi.org/10.31224/4101Keywords:
unix shell, operating system, linuxAbstract
The ghz-sh project aims to develop a custom UNIX shell that supports basic terminal operations, providing an accessible platform for learning shell programming. Unlike complex shells like Bash, ghz-sh focuses on core functionalities, making it easier to understand shell mechanics. Key features include executing basic commands, supporting built-in commands ('chdir', 'leave', 'sos', 'tell'), handling input/output redirection, and implementing basic signal handling for process control. The shell operates by parsing user commands, utilizing system calls like 'fork()' and 'exec()' for process management, and handling file descriptors for redirection. Built-in commands modify the shell's internal state, while external commands are managed as separate processes. Signal handling ensures stability, enabling graceful termination of commands with interrupts like 'Ctrl+C'. By offering essential shell functionalities in a simplified environment, ghz-sh serves as a valuable educational tool, bridging theoretical knowledge and practical application in UNIX-based systems. The project establishes a foundation for further exploration in shell programming, system automation, and command-line interface development.
Downloads
Downloads
Posted
License
Copyright (c) 2024 Aryan Karamtoth
This work is licensed under a Creative Commons Attribution 4.0 International License.