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!
Relevant Courses
Use the following content to review prerequisites or explore specific concepts in detail.