This is our Unix Command Line Console repository! This project was created by two classmates as a way to improve our skills in C programming and Unix systems. The console offers a variety of commands for users to interact with their Unix system, including options for file manipulation, system information, and more. We hope that you find this project useful and we welcome any contributions or feedback you may have.
One of the tools that we used in the development of this project was a linked list with a head node. A linked list is a linear data structure in which each element is stored in a node, and each node points to the next node in the list. A head node is a special node that marks the beginning of the linked list. We used a linked list with a head node to store and manage the various tasks that the console needed to perform. For example, we used a linked list to keep track of the available commands, as well as to store the command history for the console. The use of a linked list allowed us to easily add, remove, and access elements in the list, as well as to keep track of the size of the list. It also allowed us to implement some features such as piping and redirection, which required the ability to manipulate the list in real-time.
Claudia Maciel and Sergio Vila