This device is not compatible.
You will learn to:
Use system calls for program execution.
Develop custom versions of common shell commands.
Prerequisites
Basic knowledge of C
Basic knowledge of Bash or a related shell
Familiarity with standard C library
Familiarity with making system calls
Technologies
C
Project Description
A shell is a wrapper for a terminal or command line that allows a user to access system information and resources and execute programs. Many well-known shells, such as Bash, Dash, and Fish, have all been implemented in C. This is because C is a powerful programming language with much flexibility over low-level resource access.
In this project, we’ll use C to create our very own shell, which will utilize some low-level library functions along with complex system calls to perform tasks that users will need the shell to be able to do. We will create versions of well-known commands found in most shells and enable program execution in our shell. It will then be capable enough to perform many common tasks a user expects from a shell.
Project Tasks
1
Shell Display and Shell Control
Task 0: Get Started
Task 1: Make a Shell Prompt and Command Input
Task 2: Implement exit and clear Commands
2
Basic Commands: Output Functionality
Task 3: Tokenize and Handle Output Redirection
Task 4: Implement the echo Command
Task 5: Implement the cat Command
3
Basic Commands: Directory and File Manipulation
Task 6: Implement the pwd and cd Commands
Task 7: Implement the ls Command
Task 8: Implement the mkdir and touch Commands
Task 9: Implement the rm Command
Task 10: Implement the mv Command
4
Program Execution
Task 11: Execute Programs
Congratulations!
Atabek BEKENOV
Senior Software Engineer
Pradip Pariyar
Senior Software Engineer
Renzo Scriber
Senior Software Engineer
Vasiliki Nikolaidi
Senior Software Engineer
Juan Carlos Valerio Arrieta
Senior Software Engineer
Relevant Courses
Use the following content to review prerequisites or explore specific concepts in detail.