This project was made in the 2nd year of university and implements a Linux file system using simple linked lists. All memory allocations are managed properly and no memory leaks occur throughout the project. Upon running the application, it will wait for inputs from stdin. Examples of commands are: touch f1, mkdir d1, rm f2, rmdir d2, ls, mv old_name new_name, etc. The commands will be explained below.
- touch: Creates a file in the current directory.
- mkdir: Creates a directory in the current directory.
- ls: Displays all directories and files in the current directory.
- rm: Deletes the file with the given name from the current directory.
- rmdir: Deletes the directory with the given name from the current directory, as well as all files inside it.
- cd: Changes the current directory to the one with the given name.
- mv: Moves a file or directory from its original location to the desired one.
- stop: Terminates the application.
In order to run the application use the command "make build" followed by "make run".