In this project, we study concepts of file allocation methods by diving into one of the three methods, linked allocation. To apply our knowledge, we constructed a user-space FAT32 file system that loads in a standard FAT32 disk image, allowing the user to run common file-system commands.
Clone the repo, and type ./mfs
into your terminal.
Command | Description |
---|---|
open <FAT32 image name> | Opens the inputted FAT32 disk image |
close | Closes the currently open FAT32 disk image |
info | Prints out information about the loaded file system in both decimal and hexadecimal |
stat <file name / directory name> | Prints out attributes and starting cluster number of inputted folder/directory |
get <file name> | Retrieves file from FAT32 image and places it in current working directory |
cd <directory path> | Change directory |
ls | Lists files in current directory |
read <file name> <position> <# of bytes> | Prints out n bytes of the inputted file to console from the inputted starting position |
del <file name> | Deletes inputted file name from current directory |
undel | Undeletes last deleted file |