This application was designed for FreeBSD and serves as the midterm assignment for the class CS631 - Advanced Programming in the Unix Environment, taught by Jan Schaumann.
The objective of this assignment is to write a significant system tool from scratch. In doing so, you will learn many details of the UNIX filesystem and the general system concepts covered in class. The detailed assignment requirements can be found here.
To build the program, run cmake in the main directory of the program. Ensure you have cmake installed on your system.
To build the program, follow these steps:
- Navigate to the main directory of the program.
- Run the following commands:
make
To remove the only object files after compiling the binary run the following command
make clean-obj
To remove all files created during the make process including the binary run the following
make clean
./ls_midterm [option] [path] ...
Replace [options] with any applicable flags and [path] with the directories or files you want to analyze. The program will list the contents of the specified directory, formatted according to the provided options.
This program has been carefully developed to handle memory management correctly, ensuring no memory leaks. Valgrind was used extensively to check for and fix any memory issues.